原因解释:
浮点数(小数)在计算机中实际是以二进制存储的,并不精确。
比如0.1是十进制,转换为二进制后就是一个无限循环的数:
0.00011001100110011001100110011001100110011001100110011001100
python是以双精度(64bit)来保存浮点数的,后面多余的会被砍掉,所以在电脑上实际保存的已经小于0.1的值了,后面拿来参与运算就产生了误差。

解决办法:
使用decimal库
from decimal import *
a = Decimal('4.2')
b = Decimal('2.1')
c = a * b

最新文章

  1. 学习nodejs有感
  2. JAVA动手动脑异常处理
  3. Java & Android Color-Background
  4. Android Activity返回键控制的两种方式
  5. asp.net服务器控件onclick带参数
  6. CentOS 7 安装、配置、使用 PostgreSQL 9.5及PostGIS2.2
  7. 关于mac环境下删除cocos2d-x环境变量配置的方法
  8. 正确打印含unicode字符的dict
  9. 通知(Toast+Notification)
  10. ProductHunt,TechCrunch和AppStore的差的值
  11. fragement切换动画效果的实现
  12. Google Earth影像数据破解之旅
  13. [国嵌攻略][153][I2C裸机驱动设计]
  14. Image Pipeline
  15. flex实现三栏等分布局
  16. JAVA面对对象(四)——抽象类
  17. SQL sysobjects 表 详解
  18. python 回溯法 记录
  19. 原生 JS 实现移动端 Touch 滑动反弹
  20. sqlmap注入分类

热门文章

  1. 图形化界面安装oracle报错Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set.
  2. 移花接木:借助 IViewLocationExpander 更换 ASP.NET Core View Component 视图路径
  3. Generating Names and Classifying Names with Character-Level RNN
  4. InstallUtil.exe版本引起安装windows services 服务遇到的问题,System.BadImageFormatException
  5. WPF判断两个PNG图片是否碰撞
  6. phpexcel导出超过26列解决方案
  7. 使用VC2005编译真正的静态Qt程序 good
  8. chrome 仿手机
  9. 用C实现OOP面向对象编程(1)
  10. CheckSynchronize实现的不必要的复杂