> 文档中心 > 0.1 + 0.2 == 0.3 ? Python 浮点数详解

0.1 + 0.2 == 0.3 ? Python 浮点数详解

文章目录

    • 💻前言
    • 💡Python 浮点数详解
      • 🏀概念
      • ⚽计算
      • ⚾解决方法
      • 🎱round函数
      • 🏐科学计数法

💻前言

❤️‍🔥个人主页: 主页链接
✨个人简介:计算机大二在读,每天会在CSDN上发布有意思的文章,如果发现文章错误,可以私信或评论指正✏️,觉得写的不错的话,还请三连支持一下⭐👍🤗
🔥精选专栏:
30天搞定基础算法
编程小知识

0.1 + 0.2 == 0.3 ? Python 浮点数详解


💡Python 浮点数详解

🏀概念

— 带有小数点及小数的数字(与数学中实数的概念一致)
— 浮点数的取值范围和小数精度都存在限制,但常规计算可以忽略
— 取值范围数量级约为 -10307 至 10308 , 精度数量级 10-16

⚽计算

0.1 + 0.2 == 0.3 ? Python 浮点数详解

0.1 + 0.2 == 0.3 ? Python 浮点数详解
如图所示,0.1 + 0.3 计算得到 0.4 正确, 但是 0.1 + 0.2 计算却得到了一连串未知尾数,这并不是Bug所致,详见下图:
在这里插入图片描述

  • 所以产生不确定位数的原因是由于浮点数在计算机内存中的表示存在不确定尾数

⚾解决方法

当我们在利用浮点数运算判断时,可能会因为不确定尾数造成判断错误,如下图所示:
0.1 + 0.2 == 0.3 ? Python 浮点数详解
这时我们可以利用round函数对浮点数进行规范,结果就能够正确表示

🎱round函数

—round(x, d): 对 x 四舍五入, d 是小数截取位数
—浮点数间运算与比较用round()函数辅助可以避免错误
—不确定尾数一般发生在 10-16 左右 round() 十分有效

🏐科学计数法

使用字母e或E作为幂的符号,以 10 为基数 ,格式 a e b 表示 a*10b
例如: 4.3e-3 表示 0.0043 , 9.6e5 表示 960000.0


  • 以上就是Python中浮点数的相关知识,小伙伴们可以自己再编写一些代码这样就能熟练掌握😎
    0.1 + 0.2 == 0.3 ? Python 浮点数详解

0.1 + 0.2 == 0.3 ? Python 浮点数详解 新人创作打卡挑战赛 0.1 + 0.2 == 0.3 ? Python 浮点数详解 发博客就能抽奖!定制产品红包拿不停!31戒烟网