在 python 中执行此操作时,100*0.000001
我得到了9.999999999999999e-05
我需要做什么1e-05
?
问问题
449 次
2 回答
5
浮点数不准确。您可以将其表示为1e-4
打印时,或用于Decimal
获取精确值。例如
>>> print '{:4.0e}'.format(100*0.000001)
1e-04
或者
>>> Decimal(100)*Decimal('0.000001')
Decimal('0.000100')
于 2013-03-07T16:47:55.423 回答
0
不要做乘法:
>>> 100e-7
1e-05
尽管0.1 是二进制中无限重复的数字,但您很快就会发现其他工件的近似值:
>>> 100e-7*.1
1.0000000000000002e-06
然后只需处理格式化输出的问题:
>>> '{:e}'.format(100*0.000001)
'1.000000e-04'
>>> '{:e}'.format(100*0.0000001)
'1.000000e-05'
>>> '{:e}'.format(100*0.00000001)
'1.000000e-06'
于 2013-03-07T17:01:18.167 回答