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

发布于 2021-02-02 23:13:11

我需要四舍五入才能在UI中显示。例如,一个重要的数字:

1234-> 1000

0.12-> 0.1

0.012-> 0.01

0.062-> 0.06

6253-> 6000

1999-> 2000

是否有使用Python库执行此操作的好方法,还是必须自己编写?

关注者
0
被浏览
54
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    你可以使用负数舍入整数:

    >>> 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,则可能需要将float转换为整数。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看