在 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