Python中有效的四舍五入
一、代码
代码如下(示例):
def round(x, n):
try:
if x > 0:
return Decimal(str(x)).quantize(Decimal(n), ROUND_HALF_UP)
else:
# float x need to be transformed to string
return Decimal(str(x)).quantize(Decimal(n), ROUND_HALF_DOWN)
except DecimalException as e:
return x
MAX_DECIMALLEN = '0.000000000001'
value = round(value, MAX_DECIMALLEN)
// 大佬教的
# 描述: 数据小数位处理,默认四舍五入,两位小数
# 输入: int/float
# 输出:decimal.Decimal
def round_value(f, n=2, type="ROUND_HALF_UP"):
type_list = [
"ROUND_HALF_UP", # 四舍五入
"ROUND_UP", # 向上进位
"ROUND_DOWN", # 去尾保留
]
context = decimal.getcontext()
context.rounding = type if type in type_list else "ROUND_HALF_UP"
return round(decimal.Decimal(str(f), context), int(n))
总结
Python 四舍五入 、Decimal、ROUND_HALF_UP、ROUND_HALF_DOWN
Python四舍五入与Decimal精准操作
本文介绍了Python中进行四舍五入操作的方法,包括使用Decimal模块的ROUND_HALF_UP和ROUND_HALF_DOWN策略。提供了两个示例函数,分别演示了如何处理正数和负数的四舍五入,并确保结果的精度。示例代码展示了如何处理小数位数,确保结果精确到指定的小数位。
1万+

被折叠的 条评论
为什么被折叠?



