Python:抑制指数格式(即9e

我想用python编写另一种不懂指数格式浮点数的语言的代码。 有没有一种简单的方法来获取python,当将浮动转换为字符串时,使用长表示法(IE 0.000000009而不是9e-9)? 我尝试了'%(foo)f',但它削减了小数点(0.00000)。


尝试类似

"%.16f" % f

例如,如果数字太小,这将仍然使用指数格式,因此您必须分别处理这种情况

"%.16f" % f if f >= 1e-16 else "0.0"

使用特定的格式说明符,例如:

>>> f=9*(10**-9)
>>> str(f)
'9e-09'
>>> "%.23f" % f
'0.00000000900000000000000'

更新(感谢@Sven):您想要使用的数字量取决于数字的大小。 如果你有很多数字(比如几万亿),显然你不需要任何小数。 对于小数字你需要更多。 这确实是一个丑陋的表现。

链接地址: http://www.djcxy.com/p/66609.html

上一篇: Python: Suppress exponential format (i.e. 9e

下一篇: Can anyone explain this strange behavior with signed floats in C#?