>> format(0.0001, "g") '0.0001' >>> format(0.00001, "g")-6ren">
gpt4 book ai didi

Python 浮点格式 - 类似于 "g",但数字更多

转载 作者:bug小助手 更新时间:2023-10-28 10:50:50 26 4
gpt4 key购买 nike

我使用 "g" 来格式化浮点值,但它切换到科学格式对我来说太快了 - 在第 5 位:

>>> format(0.0001, "g")
'0.0001'
>>> format(0.00001, "g")
'1e-05'

这似乎在“g”规则(-4)中有描述:

The precise rules are as follows: suppose that the result formatted with presentation type 'e' and precision p-1 would have exponent exp. Then if -4 <= exp < p, the number is formatted with presentation type 'f' and precision p-1-exp. Otherwise, the number is formatted with presentation type 'e' and precision p-1. In both cases insignificant trailing zeros are removed from the significand, and the decimal point is also removed if there are no remaining digits following it.

有没有办法显示像 "g" 这样的数字,但在切换到科学记数法之前需要更多的数字?

我正在考虑使用 ".6f" 并去除尾随零,但是我将无法看到需要科学记数法的小数字。

最佳答案

我也有同样的问题。

查看 Python 文档,似乎 g 也支持精度值:

General format. For a given precision p >= 1, this rounds the number to p significant digits and then formats the result in either fixed-point format or in scientific notation, depending on its magnitude.

我不知道,为什么其他答案不使用这个,而且我在 Python 方面不是很有经验,但它可以工作。

这可以通过使用 format(0.00001, '.10g') 轻松实现,其中 10 是您想要的精度。

关于Python 浮点格式 - 类似于 "g",但数字更多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4626338/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com