转换科学计数法的数值字符串为decimal类型的方法
在操作数据库时,需要将字符串转换成decimal类型。
代码如下:
select cast('0.12' as decimal(18,2));
select convert(decimal(18,2), '0.12');
当需要将科学计数法的数字字符串转换成decimal时,这2种写法都报错:
msg 8114, level 16, state 5, line 1
error converting data type varchar to numeric.
select cast('0.12e+006' as decimal(18,2));
select convert(decimal(18,2), '0.12e+006');
网上查了很多资料都没有找到答案。最后无意中发现float类型转换成字符串时就会产生科学计数法的数值字符串:
select cast(cast(1234400000 as float) as varchar)
1.2344e+009
反向思维,那科学计数法的数值字符串应该可以转换成float类型,再转换float到decimal。
以上这篇转换科学计数法的数值字符串为decimal类型的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
时间: 2018-07-16
其实很简单只需两个语句: import numpy as np np.set_printoptions(suppress=True) 这样就可以搞定 以上这篇python 不以科学计数法输出的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
本文实例讲述了php使用json_decode后数字对象转换成了科学计数法的解决方法.分享给大家供大家参考,具体如下: 问题: 今天在搞网页游戏在facebook积分上的对接,facebook传过来一个类json字符串,想在callball.php页面当中应用这些参数,于是进行了一次json_decode操作,发现长长的数字都变成了科学计数法,这不是我想要的结果. 解决方法: 做了各方面的转换处理都不好使: $obj='{"order_id":213477815351175,"
本文实例讲述了PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法.分享给大家供大家参考,具体如下: PHP计算大数值运算时会出错,当数字太大时,数值会变成科学计数.那怎么来进行PHP超大数值运算,包括加减乘除,幂运算,平方根,取模运算呢? 要解决科学计数的问题,只要赋值时加一对引号即可. 如: <?php $n = '22222222222222222222222222220'; echo $n; ?> 如果不加引号,显示2.2222222222222E+28,加引号后显示22222
机器环境: Python 3.6.4 numpy==1.14.0 pandas==0.22.0 解决方法: np.set_printoptions(suppress=True) 默认情况下,ndarray数组采用科学计数法显示: 加入代码后: 以上这篇完美解决python中ndarray 默认用科学计数法显示的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
今天发现数据库里汇总的数据有点大,一输出就被自动转化成科学计数法了.后来发现是转换字符串的方法有问题.如下: String a = "11234567.89"; BigDecimal db = new BigDecimal(a); System.out.println("科学计数:" + db.toString()); System.out.println("普通计数:" + db.toPlainString()); 输出: 科学计数:1.123
科学计数法使用e标识数值,将科学计算学转化为数字的思路:按e右边的数字移动小数点位数.e右边的数字如果是负数,则向左移动小数点.示例如下: 1.2345678e2 = 123.45678 1.2345678e-2 = 0.012345678 1.7615562e+06 = 1761556.2 1.87982e7 = 18798200 1e3 = 1000 那么在shell中,如何转化科学计数法为数字呢,方法如下:这里以"1.7615562e+06" (或者1.7615562e6)为示例
1.字符串值中包含E等科学计数法,比如12E-2,需要进行转化为普通数值0.12, 2.转化函数如下: 复制代码 代码如下: private Decimal ChangeDataToD(string strData) { Decimal dData = 0.0M; if (strData.Contains("E")) { dData = Convert.ToDecim
本文实例讲述了PHP实现将科学计数法转换为原始数字字符串的方法,分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: function NumToStr($num){ if (stripos($num,'e')===false) return $num; $num = trim(preg_replace('/[=\'"]/','',$num,1),'"');//出现科学计数法,还原成字符串 $result = ""; wh
1.java后台 (1)使用BigDecimal类 方式一:String str=new BigDecimal(num+"").toString(); 方式二:String str=new BigDecimal(num.toString()).toString(); (2)使用DecimalFormat类 //注意,这种方式是保留几位小数 String str=new DecimalFormat("0.00").format(num); 2.JSP页面 (1)使用j