python中1整除0.1为什么是9.0?

img


这是二级python 的题目。我想知道python对于整除是怎么运算处理的

0.1这个数本质上是取的一个近似数,所以你就可以明白了1//0.1=9.0。因为//是地板除,就是商取整的意思,而1//-0.1=-10是因为负数的话总是会四舍五入向负无穷大处指引。

img

为什么1//0.1等于9.0,而1//-0.1=-10?
在这之前我先纠正一下大家的一个普遍误区,讲解这个误区之前先来介绍一下Python中用于十进制数计算的模块decimal,首先引入这个模块(from decimal import Decimal)用它来测试一下0.1这个数究竟是什么?

img

其实0.1这个数本质上是取的一个近似数,所以你就可以明白了1//0.1=9.0。因为//是地板除,就是商取整的意思,而1//-0.1=-10是因为负数的话总是会四舍五入向负无穷大处指引。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632