题
我的输入为3.23,但是当我在其上使用浮动,就变成3.2,
当我的输入是3.00,当我做浮在上面的,它成为3.0
当我转换从字符串到浮动,我仍然希望它是3.00,而不是3.0 可能吗? 我想知道的代码,使之可能,而当我在做一个问题,即小数点至2个位数无所谓,3.23优于3.2,更高精度
解决方案
我想你想要的是一个浮点数转换为与你想要的小数位数的字符串。你可以做到这一点使用%.3f(这里3是要打印的小数位数,例如:
>>> print "Value: %.2f" % 3.0000
值:3.00
其他提示
由于此线程是先上写着“字符串格式化小数蟒”,我认为这是很好的提供了更近的答案:
>>> P=34.3234564
>>> string="{:.2f}".format(P)
>>> string
'34.32'
,如果你想小数精度使用Python decimal
模块:
from decimal import Decimal
x = Decimal('3.00')
print x
这打印:
Decimal('3.00')
如果要打印一个浮点数到期望的精确度可以使用输出格式代码如下所示:
假设X = 3.125
print "%.1f" % (x) # prints 3.1
print "%.2f" % (x) # prints 3.12
print "%.3f" % (x) # prints 3.125
print "%.4f" % (x) # prints 3.1250
这将在python 2.6工作(我认为他们改变在第3版的打印功能)。
您也应该认识到,浮点数只能存储具有一定的精度,所以有时你不会得到完全相同的多少回。例如0.1可以被存储为类似0.9999999987。
不隶属于 StackOverflow