原标题:(RPA)学习——Python 保存两位小数
解释
python 由于 float 方法的浮点数处理精度不足导致,处理或者保存小数的时候可能出现不准准确的请款
python 的 round在保存 两位小数时 0.125 时的 的三位是 5 的话就有可能被舍去随意需要额外方法处理
代码
import decimal
1. 设置处理精度的方法
decimal.getcontext().rounding = decimal.ROUND_HALF_UP
2. 写处理小数的方法
def index(number):
“”"
输入一个数 将数 保存两位小数, 并且四舍五入
:param number: 要设置的数
:return:
“”"
# 1). 将数据 乘以 100 , 并且 转换为 字符串
n = str(number*100)
# 2). 保存一位 小数
n = decimal.Decimal(n).round(1)
# 3). 使用 Decimal 方法, 转换回原来的数据
n = n / decimal.Decimal("100")
# 4). 将数据进行处理
n = decimal.Decimal(str(n), decimal.getcontext())
# 5). 保存两位小数
return float(n.__round__(2))
1
2
3
4
5
6
7
3. 验证数据
count = 0.015
while count < 1:
r = index(count)
print(r, str(count), sep=’ ----- ')
count += 0.01
结果展示
python 保存两位小数
--------------------- 返回搜狐,查看更多
责任编辑: