你真的搞懂了Python中的四舍五入吗?1.45保留小数点后1位,四舍五入得多少?

本文详细介绍了Python中四舍五入函数的工作原理,包括保留数位精度、数值类型处理以及特殊进位规则。特别指出,Python遵循“逢五留偶”原则,而非传统四舍五入。此外,由于浮点数二进制表示的不精确性,某些情况下的四舍五入可能会出现意外结果。理解这些细节对于正确处理和显示四舍五入的数值至关重要。
摘要由CSDN通过智能技术生成

先来看看Python内置的四舍五入函数:

round(x, n)
  • 该函数返回传入的x数值(浮点型或整型)的四舍五入值;
  • 参数n表示对x进行四舍五入时保留/参考的数位精度;
  • 参数n可以不传入,此时其默认值为0,但若传入的话,则必须为整型;
  • 当n为0时,返回的结果为整型,n为负整数或正整数时,返回值的数值类型与传入的x数值的类型一样(整型或者浮点型);
  • 若n为正整数,则表示四舍五入时保留/参考的小数点后的位数;
  • 若n为负整数,-1表示基于十位四舍五入(舍弃个位)、-2表示基于百位四舍五入(舍弃个位和十位),依次类推;
  • round返回的是数值(整型或者浮点型),对于数值,我们关注的是准确性,因为数值是用于算术运算的,比如round(31415.0, 2),得到的结果是“31415.0”,是完全符合要求的,既按约定返回了浮点型(因为传入的参数也是浮点型),同时,也完全满足小数点后2位的数位精度(或者说有效位数),因为对于数值来说,“31415.0”与“31415.00”是完全相等的;
  • 但需要注意的是:上述谈到的“数值”的有效位或者精准度,与我们平时提到的“保留多少有效位”,两者的概念是不一样的,或者说至少在编程方面,两者是不同层面的事情,前者关注的是“数值”的精准度,后者用于显示或输出,关注的是对数值的字符串格式化;
  • 因此,若数值四舍五入后,用于算术表达式计算,我们则采用round函数对数值进行四舍五入处理,要是仅用于按要求保留有效位显示输出,则直接采用字符串格式化输出即可,例如:f’{31415:.2f}’,输出为“31415.00”。

如下代码所示,各打印了两个数,前者按round调用后返回的真实数值输出,后者按字符串格式化输出。

print('对3.14159265保留小数点后3位、四舍五入的结果:',round(3.14159265, 3), f'{3.14159265:0.3f}')
print('对31415.9265仅保留整数部分、四舍五入的结果:',round(31415.9265), f'{31415.9265:.0f}')
print('对31415.9265基于百位进行四舍五入的结果:',round
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值