3
我試圖打印1.2e-08作爲12e-09出於顯示目的,但似乎無法獲取格式說明符。在python中以非標準符號表示浮點數?
有沒有辦法以非標準的形式表達浮點數,而不訴諸字符串操作或使用正則表達式?
編輯:如果問題不清楚,我正在尋找一些東西,可以讓我用任何比例表示任何數字,例如,如果我想按比例縮放1e-12的任何比例,那麼我應該有類似12000e-12
謝謝
我試圖打印1.2e-08作爲12e-09出於顯示目的,但似乎無法獲取格式說明符。在python中以非標準符號表示浮點數?
有沒有辦法以非標準的形式表達浮點數,而不訴諸字符串操作或使用正則表達式?
編輯:如果問題不清楚,我正在尋找一些東西,可以讓我用任何比例表示任何數字,例如,如果我想按比例縮放1e-12的任何比例,那麼我應該有類似12000e-12
謝謝
檢查出十進制模塊。它應該能夠以你想要的格式輸出。
http://docs.python.org/library/decimal.html
對於你所描述的(工程符號)是什麼,有一個to_eng_string()方法。
編輯
在你澄清的光,你可以建立在零件的數量:這將打印
myNumber = 1.2e-8
myBase = 1e-12
mantissa = myNumber/myBase
print "{0:1}{1:s}".format(mantissa, "{0:1}".format(myBase)[1:])
: 12000.0e-12
如果你知道你會總是爲尾數轉爲整數,您可以相應地調整格式。
我已經檢查過,我知道十進制模塊它不會爲所有的基地,例如,如果我想表示一切縮放到1e-12它不會工作。 – anijhaw 2011-12-14 01:17:42