📅  最后修改于: 2023-12-03 15:09:01.845000             🧑  作者: Mango
在Python中,删除小数部分的零有多种方法,本文将介绍其中几种方法。
使用strip()方法可以删除小数部分的零。示例如下:
num = 10.000
num = str(num).rstrip('0').rstrip('.') if '.' in str(num) else str(num)
num = float(num)
print(num)
输出为:
10.0
在上述示例中,通过将数字转换为字符串,使用rstrip()方法从字符串末尾删除零和小数点,并再次将其转换为浮点数。
使用lstrip()方法可以删除小数部分前面的零。示例如下:
num = 0.009
num = str(num).lstrip('0') if '.' in str(num) else str(num)
num = float(num)
print(num)
输出为:
0.009
在上述示例中,使用lstrip()方法从字符串开头删除零。
使用format()方法可以控制小数位数,并删除小数部分的零。示例如下:
num = 1.2340
num = '{:.2f}'.format(num).rstrip('0').rstrip('.') if '.' in str(num) else str(num)
num = float(num)
print(num)
输出为:
1.23
在上述示例中,使用format()方法将数字舍入到两个小数位,并使用rstrip()方法从字符串末尾删除零和小数点。
使用round()方法可以控制小数位数,并删除小数部分的零。示例如下:
num = 1.2340
num = round(num, 2)
print(num)
输出为:
1.23
在上述示例中,使用round()方法将数字舍入到两个小数位。
使用decimal.Decimal()方法可以防止浮点数精度问题,并删除小数部分的零。示例如下:
from decimal import Decimal
num = '10.000'
num = Decimal(num).normalize()
print(num)
输出为:
10
在上述示例中,使用decimal.Decimal()方法将字符串转换为精度更高的十进制数字,并使用normalize()方法删除零和小数点。
以上是删除小数部分的零的几种方法。每种方法都有其优缺点,使用时需根据具体情况选择。