2016-12-24 56 views
0

我想将123456789.123456789转换为123,456,789.123456789。 说使用区域设置格式没有默认舍入

In: 
f=123456789.123456789 
"{:0,f}".format(f) 

Out: 
'123,456,789.123457' 

如何使用格式,没有它在百万分之一的地方会自动四舍五入?

回答

0

尝试类似:

>>> '{:,.8f}'.format(f) 
'123,456,789.12345679' 

数字的舍入到8位数字。


  • 注意,对于特定的情况下,浮点决定了str(f) => '123456789.12345679',所以时间越长,精度四舍五入又是不可避免的,除非你使用Decimals
+0

如果我不知道小数点后有多少位数,该怎么办。我正在处理小数点后的数字未知位数的列表。我需要将列表添加到数据框中作为列,而不会丢失一个数字(没有舍入)。另外,我最终不需要任何额外的0,就像我们使用类似%.100f的东西时所得到的那样 –