用Python导数据到mysql中遇到问题,小数后几位在导入数据库中直接被舍弃

用Python导数据到mysql中遇到问题,小数后几位在导入数据库中直接被舍弃,第1张

float本身保存的就是近似值,因为你后面有e-06这样的字符,这个其实也是数字的一部分,这么看,不管你怎么存小数位都是不够的,比如这个3.90104e-06,翻译过来应该是0.00000390194,你估计float的话要怎么写,他是8位的精度,这里来看最好就是0.0000039也就这样了,我想就算这个也不是你要的吧。

所以个人觉得办法就是换一个数据类型,最简单的就是double(我估计16位的精度应该够了吧,不过他和float一样,存一个近似值,你可以试试写成double(16,14)试试,如果还不行,那就只能用decimal了),如果还是进位,那就用decimal(65位的定点数,怎么算都够了。)

如果还不行就祭出终极大招字符型,这个总没有问题,当然如果你还要计算,那就最好别用这个。

$amount = 666666

$number = substr($newAmount = $amount/10000.0, 0, stripos($newAmount, ".")+2)

echo "金额:$number 万"

$number = substr($newAmount = $amount/10000.0, 0, stripos($newAmount, ".")+3)

echo "金额:$number 万"


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8760480.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存