sqlserver中float转varchar时不显示科学计数法

MSSQL中 float转换为varchar 变成科学计数法解决方案

在系统初始化的时候,因为有同事,没有在数值型的数据前面加上 单引号,导致进入数据库后都变成float型
我们需要做以下转换就能将数据变为 varchar类型

declare @a float //定义一个float变量
set @a =13824658956 //赋值float变量
select @a as a   //显示变量
select convert(varchar(25),@a) as a  //按字符串显示
select convert(decimal(18,0),@a) as a //按小数位计数显示
select CONVERT(varchar,convert(decimal(18,0),@a)) as a //转换字符串显示
 

原文地址:https://www.cnblogs.com/dangpengfei/p/9181372.html

时间: 2024-10-09 19:00:37

sqlserver中float转varchar时不显示科学计数法的相关文章

PL/SQL中查询Oracle大数(17位以上)时显示科学计数法的解决方法

PL/SQL查询时,如果Number(17)以上的大数,会显示为科学计数法 解决方法: TOOLS->PREFERENCES->WINDOW TYPE->SQL WINDOW下选中Number fields to_char即可. 原文地址:https://www.cnblogs.com/mingforyou/p/8342692.html

Oracle中较长number型数值的科学计数显示问题

表中有id列,类型为number(38).在sqlplus中查询的时候,查询结果的显示方式为科学计数法: ID ---------- 4.5572E+18 4.5574E+18 4.5585E+18 这样看起来很不直观,而之所以这样显示的原因是在SQL*Plus下,小于等于10位的精度显示的是很直观的形式,大于10位精度的则显示为科学计数的形式. 以下为测试内容: SQL> select * from v$version; BANNER -----------------------------

如何批量把excel中已显示的科学计数法取消

作者:iamlaosong 把一文本文档复制到EXCEL中时,其中一列数字全部变成科学计数法,这些数其实是条码号,不需进行运算,如何可以取消科学计算法,将数字显示成原来的样子呢?一般方法如下: 1.你先将单元格格式设置成文本格式 2.转成文本后,你将那单元格双击一下 3.或者在数字前面加符号"'"(没有引号,注意是英文输入法下的) 不过对于数据量比较大的场合,这样一个一个的处理显然效率太低,采用分列的方法可以很快的处理所有单元格. 1.选中需要处理的列,点击分列按钮或菜单: 2.点击&

Excel中科学计数法如何转正常显示

当数值型数据达到12位的时候,将以科学计数法的方式显示在单元格内,但是编辑栏仍然正常显示.   右键单击12位数字所在单元格,在弹出的菜单栏中选择设置单元格格式.   在单元格格式中点数字选项卡,点自定义,在类型中输入一个“#”,然后点击确定,设置完之后原来的科学计数法消失,显示为实际的12位数字.   数值型数据最多能存储15位有效数字,如果超过15位,可以事先将单元格格式数字设置成文本. 原文地址:https://www.cnblogs.com/Sunshine-bing/p/1264273

java使用poi解析或处理excel的时候,如何防止数字变成科学计数法的形式和其他常见Excel中数据转换问题

当使用POI处理excel的时候,遇到了比较长的数字,虽然excel里面设置该单元格是文本类型的,但是POI的cell的类型就会变成数字类型. 而且无论数字是否小数,使用cell.getNumbericCellValue() 去获取值的时候,会得到一个double,而且当长度大一点的时候会变成科学计数法形式. 那么获取这个单元格的原始的数据,就其实是一个double怎么转换成整数的问题了. 使用DecimalFormat对这个double进行了格式话,随后使用format方法获得的String就

用POI导出excel时,较长的数字不想被自动变为科学计数法的解决方式(转)

做过很多次导出excel了.都碰到一个问题,内容里如果包含一个比较长的数字,比如订单号“2546541656596”,excel会自动变成科学计数法... 弄过好几次都没有解决,最近又要导出excel了,下决心一定要找到解决办法 自己在excel里测试过,较长的数字,都会自动变成科学计数法,除非我们把单元格格式设置成“文本型” 哈哈,似乎找到了思路:用poi先把单元格设置成“文本型”就可以了把. 从文档里找到了这个方法HSSFCell.setCellType(int type),怎么看这个方法都

如何使java中double类型不以科学计数法表示

在java中,把一个double或者BigDecimal的小数转换为字符串时,经常会用科学计数法表示,而我们一般不想使用科学计数法,可以通过:DecimalFormat a = new DecimalFormat("#,##0.00000000");        System.out.println(a.format(11111111.0000001000000001));的方式来格式化输出字符串. 对于BigDecimal的小数,如果制定精度<=6, 则可以放心的使用其toS

利用科学计数法初始化double型来处理大数的显示

最近做一款挂机游戏,碰到了一个问题,游戏中玩家攻击力会不断增加,从K增加到M到B到T,然后aa,bb,cc…… 这样就出现了一个问题,我该如何存储玩家的攻击力,乍看之下double型的长度好像也不够了. 我最开始想到的方法是把数值和单位分开,设计一个新的类型来处理,但发现使用起来非常不方便,除非实现大量的功能. 后来找到了一个比较好的办法——用科学计数法来初始化double. 假设玩家当前攻击力是1.08 * 10 ^ 120, 如果试图通过下面这种方式来初始化,使用时就会发现CurrentDp

解决从Excel导入数据库,导入到DataTable时数据类型发生变化的问题(如数字类型变成科学计数法,百分数变成小数)

做项目的时候,C#读取Excel数据到DataTable或者DataSet,设断点查看DataTable,发现Excel的显示为较长位数数字的字段如0.000012在DataTable中显示为科学计数法1.2E-05,而百分数如143%在DataTable中显示为1.43.可是我想Excel中显示的是什么数据,读取到DataTable或者DataSet后与Excel中完全一致,解决办法如下: 1)打开要导入的EXCEL,把所有数据全选中(Ctrl+A)----复制(Ctrl+C): 2)新建一个