在 Python 中截斷浮點數
本教程將介紹在 Python 中各種截斷浮點數的方法。浮點數的截斷用於簡化計算。我們可以通過刪除剩餘數字或四捨五入來截斷一個浮點數。我們將在本教程中研究這兩種方法。
在 Python 中使用 round()
函式截斷一個浮點數
round(number, n)
函式將數字作為輸入並將其舍入到 n
小數位。
如果我們想通過四捨五入來截斷浮點數,可以通過使用 Python 中的 round()
函式來實現。下面的示例程式碼演示瞭如何使用 round()
函式截斷浮點數。
print(round(1923334567124, 4))
print(round(2345.1252342, 4))
print(round(192.67, 4))
輸出:
1923334567124
2345.1252
192.67
在 Python 中使用 int()
函式截斷一個浮點數
假設我們要截斷一個浮點數,方法是僅將剩餘的數字放在小數點後第 n
位。為此,我們先將浮點數乘以 10**n
,其中 n
我們要保留的小數點後的位數。然後,將其轉換為整數,然後將其除以相同的 10**n
值。然後,我們可以將其轉換回浮點數。
下面的示例程式碼演示瞭如何使用 Python 中的 int()
函式通過刪除剩餘數字來截斷浮點數。
def truncate(num, n):
integer = int(num * (10 ** n)) / (10 ** n)
return float(integer)
print(truncate(1923334567124, 4))
print(truncate(2345.1252342, 4))
print(truncate(192.67, 4))
輸出:
1923334567124.0
2345.1252
192.6699
在 Python 中使用 str()
函式截斷一個浮點數
我們還可以通過先將剩餘的數字轉換為字串,然後將剩餘的數字放在小數點後的 n
位後,來截斷浮點數。
將 float 轉換為字串後,我們就可以在字串中尋找小數點 .
,如果它存在,我們就可以保留它後面的 n
位,如果它的小數點後面的數字少於 n
位,我們就可以完成浮點數的截斷。
下面的示例程式碼演示瞭如何在 Python 中使用 str()
函式截斷浮點數。
def truncate(num, n):
temp = str(num)
for x in range(len(temp)):
if temp[x] == ".":
try:
return float(temp[: x + n + 1])
except:
return float(temp)
return float(temp)
print(truncate(1923334567124, 4))
print(truncate(2345.1252342, 4))
print(truncate(192.67, 4))
輸出:
1923334567124.0
2345.1252
192.67
Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.
LinkedIn