在 Python 中舍入到有效數字

Shivam Arora 2023年1月30日 2021年10月2日
  1. 在 Python 中使用 round() 函式將數字四捨五入到給定的有效數字
  2. 在 Python 中使用 math 模組將數字四捨五入到給定的有效數字
  3. 在 Python 中使用字串格式將數字四捨五入到給定的有效數字
  4. 在 Python 中使用 sigfig 模組將數字四捨五入到給定的有效數字
在 Python 中舍入到有效數字

四捨五入意味著用一個接近它的近似值替換一個數字。我們還可以將數字四捨五入到所需的有效數字。

在本文中,我們將在 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