gpt4 book ai didi

python - 控制精度/指数数字的打印

转载 作者:行者123 更新时间:2023-12-01 05:54:26 26 4
gpt4 key购买 nike

在 Python 中控制 64 位 float 打印的最佳方法是什么?

我可以使用 %e 说明符轻松以指数格式显示所有数字。但是,如果数字的位数超过 x,我只想使用指数格式。例如,下面是原始 64 位 float 以及我希望它看起来像字符串的样子:

value       what's printed

1.123456 1.123456
123456.1234 12345.6e4
1.0 1.0
.1234567 1.23456e-1

上面我只想查看总共 7 位数字,然后如果需要更多数字,则转换为指数表示法。

这有什么意义吗?本质上,我希望仅当达到数字的某个阈值时才能够使用指数表示法。我知道 %e 允许像 %.3e 这样的说明符,但这将始终使用指数表示法,无论数字大小如何。

最佳答案

您也许可以用 '%g' 来编写一些东西 - 它将使用 %f%e 中较短的一个:

>>> '%.4g'%(1154.2)
'1154'
>>> '%.4g'%(11545.2)
'1.155e+04'
>>> '%.4g'%(1.15452)
'1.155'
>>> '%.4g'%(0.000005321)
'5.321e-06'

换句话说,这将打印出一个具有 4 位有效数字的数字,并在必要时使用科学记数法。

关于python - 控制精度/指数数字的打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13165453/

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