欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

python 保留有效数字

最编程 2024-04-22 22:08:36
...

在 Python 中,可以使用 round 函数来保留有效数字。round 函数的基本用法如下:

round(number[, ndigits])

其中,number 是要进行舍入的数字,ndigits 是保留的小数位数(默认为 0)。round 函数会根据 ndigits 的值对 number 进行四舍五入,并返回一个浮点数。

下面是几个例子:

round(1.23456, 3)  # 保留 3 位小数,输出 1.235
round(1.23456, 2)  # 保留 2 位小数,输出 1.23
round(1.23456, 1)  # 保留 1 位小数,输出 1.2
round(1.23456)     # 默认保留 0 位小数,输出 1.0

如果需要保留有效数字而非小数位数,可以先将数字转换为科学计数法,再对科学计数法的小数位数进行保留。这个可以使用 Python 内置的 Decimal 类来完成,具体代码如下:

from decimal import Decimal

def round_sigfigs(num, sig_figs):
    num = Decimal(str(num))
    if num == 0:
        return 0
    return round(num, -int(num.adjusted()) + (sig_figs - 1))

round_sigfigs(1.23456, 3)  # 保留 3 个有效数字,输出 1.23
round_sigfigs(1.23456, 2)  # 保留 2 个有效数字,输出 1.2
round_sigfigs(1.23456, 1)  # 保留 1 个有效数字,输出 1
round_sigfigs(12345, 3)    # 保留 3 个有效数字,输出 1.23e+4

以上就是 Python 中保留有效数字的方法。