在 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