小编典典

如何在 Python 中将数字舍入为有效数字

all

我需要将浮点数舍入以显示在 UI 中。例如,一个有效数字:

1234 -> 1000

0.12 -> 0.1

0.012 -> 0.01

0.062 -> 0.06

6253 -> 6000

1999 -> 2000

有没有使用 Python 库的好方法,还是我必须自己编写?


阅读 61

收藏
2022-07-29

共1个答案

小编典典

您可以使用负数来舍入整数:

>>> round(1234, -3)
1000.0

因此,如果您只需要最重要的数字:

>>> from math import log10, floor
>>> def round_to_1(x):
...   return round(x, -int(floor(log10(abs(x)))))
... 
>>> round_to_1(0.0232)
0.02
>>> round_to_1(1234243)
1000000.0
>>> round_to_1(13)
10.0
>>> round_to_1(4)
4.0
>>> round_to_1(19)
20.0

如果它大于 1,您可能必须注意将浮点数转换为整数。

2022-07-29