>> "%.2f" % (float('0.00355') *100) '0.36' 为什么他们给出不同的结果? 最佳答案 这不是-6ren">
gpt4 book ai didi

python2.4.3 : format bug?

转载 作者:太空狗 更新时间:2023-10-30 01:55:54 25 4
gpt4 key购买 nike

这是一个例子:

>>> "%.2f" % 0.355
'0.35'
>>> "%.2f" % (float('0.00355') *100)
'0.36'

为什么他们给出不同的结果?

最佳答案

这不是格式错误。这只是浮点运算。查看格式命令下的值:

In [18]: float('0.00355')
Out[18]: 0.0035500000000000002

In [19]: float('0.00355')*100
Out[19]: 0.35500000000000004

In [20]: 0.355
Out[20]: 0.35499999999999998

这两个表达式创建不同的值。

我不知道它在 2.4 中是否可用,但您可以使用 decimal 模块来完成这项工作:

>>> import decimal
>>> "%.2f" % (decimal.Decimal('0.00355')*100)
'0.35'

decimal 模块将 float 视为字符串以保持任意精度。

关于python2.4.3 : format bug?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4825548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com