python保留小数不四舍五入_[800]python中小数点后取2位(四舍五入|四舍五不入)

本文介绍了Python中不使用四舍五入保留小数点后两位的方法,包括使用`%.2f`格式化、`Decimal`函数以及字符串截取。文章还探讨了`round()`函数的不稳定性,并提供了稳定的小数处理方法。
摘要由CSDN通过智能技术生成

在很多场景的计算中,最终得到的数值例如123.45678,要截取2位小数得到123.45,而不是默认的四舍五入方法得到123.46,如何实现呢?

小数点后取2位(四舍五入)的方法

####方法一:round()函数

其实这个方法不推荐大家使用,查询资料发现里面的坑其实很多,python2和python3里面的坑还不太一样,在此简单描述一下python3对应的坑的情况。

a = 1.23456

b = 2.355

c = 3.5

d = 2.5

print(round(a, 3))

print(round(b, 2))

print(round(c))

print(round(d))

结果:

1.235# 1.23456最终向前进位了

2.35# 2.355居然没进位

4# 最终3.5居然变为4了

2# 最终2.5取值变为2

(1)通过上面的函数,看着是不是很晕,感觉round(x,n)函数是否进位也没看出是啥规律

(2)round(x,n)函数中,是否进位或四舍五入,取决于n位以及n+1位小数的值

(3)只有当n+1位数字是5的时候,容易混淆,如果n为偶数,则n+1位数是5,则进位,例如round(1.23456,3)最终变为1.235

(4)如果n为奇数,则n+1位是数5,那不进位,例如round(2.355,2),最终为2.35

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值