转换科学计数法的数值字符串为decimal类型的方法

yipeiwu_com6年前Python基础

在操作数据库时,需要将字符串转换成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类型的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python计算不规则图形面积算法实现解析

Python计算不规则图形面积算法实现解析

这篇文章主要介绍了Python计算不规则图形面积算法实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 介绍:大三上做一个医学影像...

python调用摄像头显示图像的实例

如下所示: import cv2 import numpy as np bins = np.arange(256).reshape(256,1) def hist_curve(i...

Python中operator模块的操作符使用示例总结

operator模块是python中内置的操作符函数接口,它定义了一些算术和比较内置操作的函数。operator模块是用c实现的,所以执行速度比python代码快。 逻辑操作 fr...

python 筛选数据集中列中value长度大于20的数据集方法

如果我有一个数据集,他的某个列名下面的value很长,我们需要筛选出,所有列名中value值字符串大于20的数据集。 其实比较简单啦,一句代码就可以搞定 #对该列进行强制的字符类型转...

python 使用socket传输图片视频等文件的实现方式

在开发一些需要网络通信的应用中,经常会用到各种网络协议进行通信,博主在开发实验室的机器人的时候就遇到了需要把机器人上采集到的图片传回服务器进行处理识别,在python下的实现方式如下(只...