Python 2.7:以非常精确的方式用非科学记数法格式化浮点数的正确方法是什么?

我希望我对这个问题有所了解.

有时如果我打印一个小浮子,它看起来像6.1248979238e-05或类似的东西.

我希望能够说“无论如何,输出10位精度就像这样”:0.abcdefghij

最佳答案

>>> '%0.10f'% 6.1248979238e-05 
'0.0000612490'

这是“字符串插值”或printf-style formatting,仍然得到广泛支持和使用.另一种选择是newer style string formatting

>>> '{:.10f}'.format(6.1248979238e-05)
'0.0000612490'

或者如果你想与python2.6兼容:

>>> '{0:.10f}'.format(6.1248979238e-05)
'0.0000612490'

随便挑选.您使用的是哪个版本取决于您要支持的python版本.如果你只针对python2.7,那没关系.如果要支持早期版本,请使用printf-style.我个人在大部分代码中都转而使用最后一个表单.我不关心python2.5的支持,但是python2.6仍然是新的,我想在可能的情况下支持它.

点赞