📜  如何使用Python从数字中删除所有小数?

📅  最后修改于: 2022-05-13 01:55:14.202000             🧑  作者: Mango

如何使用Python从数字中删除所有小数?

在Python编程中,有时需要去掉一个数字中的所有小数才能得到所需的输出。这些小数在Python中也称为浮点数。基本上, Python有 3 种数值数据类型。它们是整数(int())、浮点数(float()) 和复数(complex()) 数据类型。 Python的类型转换有助于将十进制值数字(浮点数)转换为整数。因此,转换 float->int 会从数字中删除所有小数。

使用Python从数字中删除所有小数的三种方法

方法:

  1. 使用 int( )函数
  2. 使用 trunc()函数
  3. 使用 split( )函数

方法一:使用int()【类型转换】:

int() 是一个内置函数,用于将任何值转换为整数。



Python3
Number1 = 44.560
Number2 = 856.9785623
Number3 = 9999.99
  
# Type conversion float to int
New_Number1 = int(Number1)
New_Number2 = int(Number2)
New_Number3 = int(Number3)
  
print("Number1 = ", New_Number1)
print("Number2 = ", New_Number2)
print("Number3 = ", New_Number3)
  
# type() function returns the data type
print(type(Number1))
print(type(New_Number1))


Python3
# import math function to use trunc( ) function
import math
  
num1 = math.trunc(450.63)
print(num1)
print(math.trunc(999998.99999))
print(math.trunc(-89.99))
print(math.trunc(0.99))


Python3
value1 = [998.99, 56.8, 25.6, -52.0]
  
# values are split at decimal point
lst = []
for each in value1:
    lst.append(str(each).split('.')[0])
  
# all values converting to integer data type
final_list = [int(i) for i in lst]
print(final_list)


输出 :

Number1 =  44
Number2 =  856
Number3 =  9999

方法 2:使用 truncate函数(trunc()) :

math() 模块是Python的标准内置模块。 math() 模块中定义了许多数学函数。要使用 truncate函数,首先必须导入 math 模块,使用 trunc()函数而不定义 math() 模块会出错。通过使用 math.trunc()函数,可以在Python截断数字。

蟒蛇3

# import math function to use trunc( ) function
import math
  
num1 = math.trunc(450.63)
print(num1)
print(math.trunc(999998.99999))
print(math.trunc(-89.99))
print(math.trunc(0.99))

输出 :

450
999998
-89
0

方法三:使用split()函数

split()函数只适用于字符串。因此,使用 str()函数将十进制值转换为字符串,然后在小数点处拆分。执行 split()函数后,这些值仍保留在字符串数据类型中。因此,这些值再次转换为整数数据类型。

蟒蛇3

value1 = [998.99, 56.8, 25.6, -52.0]
  
# values are split at decimal point
lst = []
for each in value1:
    lst.append(str(each).split('.')[0])
  
# all values converting to integer data type
final_list = [int(i) for i in lst]
print(final_list)

输出:

[998, 56, 25, -52]

注意:使用 int()函数删除所有十进制值很容易,只需一行代码即可节省时间。