python格式化浮点数
我的输入是3.23,但当我在上面使用float时,它变成了3.2 当我的输入是3.00,当我在上面浮动时,它变成3.0 当我从字符串转换为float时,我仍然希望它是3.00而不是3.0 可能吗?python格式化浮点数,python,floating,Python,Floating,我的输入是3.23,但当我在上面使用float时,它变成了3.2 当我的输入是3.00,当我在上面浮动时,它变成3.0 当我从字符串转换为float时,我仍然希望它是3.00而不是3.0 可能吗? 我想知道使之成为可能的代码,当我在做一个小数点到2位都很重要的问题时,3.23比3.2好,要获得更高的精度,如果您想要小数精度,请使用python模块: 上面印着: Decimal('3.00') 如果要将浮点数打印到所需精度,可以使用如下输出格式代码: 假设x=3.125 print "%.1f"
我想知道使之成为可能的代码,当我在做一个小数点到2位都很重要的问题时,3.23比3.2好,要获得更高的精度,如果您想要小数精度,请使用python模块: 上面印着:
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
这将在Python2.6中工作(我认为他们在版本3中更改了print函数)
您还应该认识到,浮点数字只能以一定的精度存储,因此有时无法返回完全相同的数字。例如,0.1可能被存储为类似于0.999999987的内容。我想您需要的是将一个浮点数转换为一个包含所需小数位数的字符串。您可以使用%.3f(这里3是要打印的小数位数。例如:
>>> print "Value: %.2f" % 3.0000
Value:3.00因为这个线程是关于“字符串格式化十进制python”这个词的第一个线程,所以我认为最好提供一个更新的答案:
>>> P=34.3234564
>>> string="{:.2f}".format(P)
>>> string
'34.32'
你们碰巧在同一个班吗?;)是的。这是可能的。你真正的问题是什么?浮动('3.23')!=3.2请在此处更精确:)-1:没有代码来支持“它变成”索赔。
>>> P=34.3234564
>>> string="{:.2f}".format(P)
>>> string
'34.32'