如何在python中将23位浮点数从字符串转换为浮点数并返回?
Posted
技术标签:
【中文标题】如何在python中将23位浮点数从字符串转换为浮点数并返回?【英文标题】:How to convert 23 digit float number from string to float and back in python? 【发布时间】:2018-05-07 17:22:44 【问题描述】:在 python (3.6.2) 中,我想将数字的字符串表示形式转换为浮点数,对其进行更改,然后再将其转换回来。所以像
a = '147211834412830112.000'
b = float(a)
c = b+0.001
print("%23.3f" % c)
147211834412830112.000
但是上面的代码不能正常工作。
用 python 做到这一点并且不丢失这样一个数字的精度的可能性是什么?
【问题讨论】:
【参考方案1】:如果您想保持数字的精度,请尝试使用decimal.Decimal
:
from decimal import Decimal
a = '147211834412830112.000'
b = Decimal(a)
c = b+Decimal('0.001')
print(c)
结果:
$ python x.py
147211834412830112.001
【讨论】:
以上是关于如何在python中将23位浮点数从字符串转换为浮点数并返回?的主要内容,如果未能解决你的问题,请参考以下文章