将Python浮点数以单精度形式打印

1 投票
1 回答
2351 浏览
提问于 2025-04-18 17:03

在Python 3中,如果你像这样打印一个浮点变量:

str(1318516946165810000000000.123123123)

输出结果是:

1.31851694616581e+24

有没有简单的方法可以在标准库中(不是Numpy)以32位浮点精度打印相同的内容?(或者更一般地说,任何精度都可以)

要注意,精度和小数位数是不同的,就像在Decimal中那样。

编辑

结果应该是一个字符串,像str那样,但要限制精度,比如:

32位浮点数的表示:
1.31851e+24

1 个回答

1

我可能理解错了,但你问的是否是用format加上合适的精度修饰符呢?

>>> "{0:6g}".format(1.31851694616581e24)
'1.31852e+24'

6改成你想要的数字,这样就可以控制有效数字的个数了。

撰写回答