2017-01-30 21 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)

希望工程!