-5

我的输入是 3.23,但是当我在上面使用浮点数时,它变成了 3.2,

当我的输入是 3.00 时,当我浮在上面时,它变成 3.0

当我从字符串转换为浮点数时,我仍然希望它是 3.00 而不是 3.0 可能吗?我想知道使它成为可能的代码,当我在解决小数点到 2 位数很重要的问题时,3.23 比 3.2 更好,以获得更高的精度

4

4 回答 4

3

由于这个线程首先是关于“字符串格式化十进制python”这个词,我认为最好提供一个更新的答案:

>>> P=34.3234564
>>> string="{:.2f}".format(P)
>>> string
'34.32'
于 2012-12-16T13:17:49.427 回答
1

如果你想要十进制精度使用 pythondecimal模块:

from decimal import Decimal
x = Decimal('3.00')
print x

打印:

Decimal('3.00')
于 2009-06-08T11:15:37.420 回答
1

我想您想要的是将浮点数转换为具有所需小数位数的字符串。您可以使用 %.3f 来实现(这里 3 是您要打印的小数位数。例如:

>>> print "Value: %.2f" % 3.0000

值:3.00

于 2009-06-08T11:16:43.453 回答
0

如果要将浮点数打印到所需的精度,可以使用如下输出格式代码:

假设 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。

于 2009-06-08T11:16:32.953 回答