2017-07-18 47 views
0

我想選擇最好的方式呈現以下規則浮點數:如何使用Python在「.xg」和「.xf」之間選擇float_format?

input = 1500.000001 
output = 1500 

input = 1500.01 
output = 1500.01 

input = 1500 
output = 1500 

我嘗試兩種方法,float_format =「0.2克」和「.2f」,但它們都滿足部分我的規則。

如果float_format = 「0.2克」,輸出= 1.5E3

如果float_format = 「.2f」,輸出= 1500.00

回答

0

假設我正確理解你,我會用十進制。

from decimal import Decimal 
input = 1500.00001 
as_decimal = Decimal(input).quantize(Decimal('0.01')) 
>>> Decimal('1500.00') 

此外,你可以檢查它是一個int或浮動。所以:

input = 1500 
if type(input) == int: 
    pass 
elif type(input) == float: 
    input = Decimal(input).quantize(Decimal('0.01')) 
+0

謝謝,我在使用float_format輸出一個數據幀到csv文件。我寫了format_type ='.2g'或'.2f',這個設置太複雜了,我必須在幀中重置數據? – cindywmiao

+0

我不確定這裏的數據框是什麼意思。你在用熊貓嗎?我對熊貓沒有任何經驗,所以我不能告訴你你想要什麼。 –

相關問題