在 Python 中截斷浮點數

Syed Moiz Haider 2023年1月30日 2021年3月21日
  1. 在 Python 中使用 round() 函式截斷一個浮點數
  2. 在 Python 中使用 int() 函式截斷一個浮點數
  3. 在 Python 中使用 str() 函式截斷一個浮點數
在 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 Haider avatar Syed Moiz Haider avatar

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

相關文章 - Python Float