Python中,小数的取舍机制

在Python中,小数的取舍,有它独有的机制,是什么样的呢,让我们来看一个小栗子;

{:0.2f}.format(0.135)
# 输出为
0.14
{:0.2f}.format(0.145)
0.14

看完以上内容,我们脑中不免有个小疑问:

为什么0.135取2位小数后的值是0.14

而0.145取2位小数后的值也是0.14呢?

看到这,我们就来小解析一下:

在Python中,小数的取舍,其实基本上都是遵循所谓的“四舍五入“,也就是说,5以下的舍去,5以上的进位。

那么,我们的“5”呢?

Python中,小数中的"5",属于一个特殊体。 也就是说,它不遵循四舍五入机制。 那么它遵循的是什么呢?

以上面的栗子为例:

0.135: 当第三位小数是5,需要取两位小数的时候,我们需要看它的第二位小数是基数,还是偶数。如果第二位是基数的话,那么就会第二位小数就会以0.13 与 0.135 为目标点,取离这两个数值最近的偶数做第二位小数。即:0.14


0.145: 当第三位小数是5,取两位小数,它的第二位小数是偶数的时候。那么就会直接取这个偶数数字作为第二位小数的值。即:0.14

也就是说,在小数中,5是个特殊体,它需要根据它的前一位是基数还是偶数来定取舍后的值。

说的比较凌乱。毕竟文科除了会普通话意外,都还给老师了,大家多见谅。

转载于:https://my.oschina.net/u/3826227/blog/1788956

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值