2017-01-30 56 views
0

我必須被格式化浮點數一長串如下:Python的浮子沒有指數和最大精度格式不是固定的精度

實例:

情況1)6.0 -> 6.0(無尾隨零)

情況2)1.23456789 -> 1.234567(或1.234568)的6(最大精度)

情況3)0.000004 -> 0.000004(否指數)

我可以使用

'{}'.format(round(x, 6)) 

的情況下,1 & 2,但3給出了4E-06

如果我使用

'{:6f}'.format(6.0) 

我得到6.000000的情況下1)

有一個乾淨的方式來獲得我想要的格式?

+1

好,考慮到你想要兩個不同的格式,你需要兩種不同的格式字符串。 –

+0

我不想要兩種不同的格式,只是沒有尾隨零,沒有指數和最大精度6 –

+0

是的(正如NAmorim發佈的那樣) –

回答

-1

也許你可以考慮this的解決方案。

您的情況:

print ('%.6f' % data).rstrip('0').rstrip('.') 
+0

我剛剛知道它會在(或類似的)之前被詢問。這工作。 –

-1

使用%.6f%(data)

希望工程!