[英]converting numbers to metric unit in python
在python 100*0.000001
這樣做時,我得到了9.999999999999999e-05
我需要做什么才能獲得1e-05
?
浮點數不准確。 您可以在打印時將其表示為1e-4
,或者使用Decimal
來獲取確切的值。 例如
>>> print '{:4.0e}'.format(100*0.000001)
1e-04
要么
>>> Decimal(100)*Decimal('0.000001')
Decimal('0.000100')
不要做乘法:
>>> 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'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.