在 Python 中舍入到有效数字
Shivam Arora
2023年1月30日
2021年10月2日
-
在 Python 中使用
round()
函数将数字四舍五入到给定的有效数字 -
在 Python 中使用
math
模块将数字四舍五入到给定的有效数字 - 在 Python 中使用字符串格式将数字四舍五入到给定的有效数字
-
在 Python 中使用
sigfig
模块将数字四舍五入到给定的有效数字
四舍五入意味着用一个接近它的近似值替换一个数字。我们还可以将数字四舍五入到所需的有效数字。
在本文中,我们将在 Python 中将数字四舍五入为特定的有效数字。
在 Python 中使用 round()
函数将数字四舍五入到给定的有效数字
round()
函数将给定的浮点值四舍五入到最接近的整数或指定的小数位。
我们可以使用负数通过将整数分配给 round()
函数来将整数四舍五入为有效的下限值。要指定的负数取决于所需的有效数字。
例如,如果我们希望四舍五入到一位有效数字,我们可以在 round()
函数中将该值指定为 (1-total digits)。
请参考以下代码。
x = round(1342, -3)
print(x)
输出:
1000
在 Python 中使用 math
模块将数字四舍五入到给定的有效数字
这种方法是对前面讨论的功能的改进。我们可以创建一个简单的用户定义函数来使这更方便。我们不必在此方法的 round()
函数中指定负数。我们将使用 math.floor()
函数和 math.log10()
函数的组合来替换它。
请参考下面的代码。
from math import log10 , floor
def round_it(x, sig):
return round(x, sig-int(floor(log10(abs(x))))-1)
print(round_it(1324,1))
输出:
1000
在 Python 中使用字符串格式将数字四舍五入到给定的有效数字
在 Python 中,字符串中的 %g
说明符格式化四舍五入到指定有效数字的浮点数。如果最终数字的大小很大,则以科学记数法表示。
此方法返回一个字符串。因此,我们必须在格式化后将字符串数字转换回浮点数或整数值。
例如,
x = float('%.1g' % 1324)
print(x)
输出:
1000.0
在 Python 中使用 sigfig
模块将数字四舍五入到给定的有效数字
sigfig
模块最适合将数字四舍五入到有效数字,因为它最大限度地减少了创建用户定义函数的麻烦并简化了代码。
我们可以在这个模块的 round()
函数中指定有效数字的数量。
请参考以下示例。
from sigfig import round
print(round(1324, sigfigs = 1))
输出:
1000