在练习时,输入如下代码:

结果不准确。

原因:https://blog.csdn.net/bitcarmanlee/article/details/51179572

浮点数一个普遍的问题就是在计算机的世界中,浮点数并不能准确地表示十进制。并且,即便是最简单的数学运算,也会带来不可控制的后果。因为,在计算机的世界中只认识0与1

python中的decimal模块可以解决上面的烦恼

decimal模块中,可以通过整数,字符串或原则构建decimal.Decimal对象。如果是浮点数,特别注意因为浮点数本身存在误差,需要先将浮点数转化为字符串。

当然精度提升的同时,肯定带来的是性能的损失。在对数据要求特别精确的场合(例如财务结算),这些性能的损失是值得的。但是如果是大规模的科学计算,就需要考虑运行效率了。毕竟原生的float比Decimal对象肯定是要快很多的。

使用上述办法解决后:

知识点总结:

1. decimal模块:

Python提供了decimal模块用于十进制数学计算,它具有以下特点:

  1. 提供十进制数据类型,并且存储为十进制数序列;
  2. 有界精度:用于存储数字的位数是固定的,可以通过decimal.getcontext().prec=x 来设定,不同的数字可以有不同的精度
  3. 浮点:十进制小数点的位置不固定(但位数是固定的)

最新文章

  1. DotNet 资源大全中文版(Awesome最新版)
  2. JSF2 下 taglib 的问题
  3. activiti-explorer:使用mysql导入外部bpmn文件后存在乱码的问题
  4. iOS 端的第三方语音识别库
  5. leetcode 137. Single Number II ----- java
  6. 获取JDK动态代理/CGLIB代理对象代理的目标对象。
  7. LeetCode Single Number (找不不重复元素)
  8. HDU 4612 Warm up(手动扩栈,求树上哪两个点的距离最远)
  9. 在Kafka中修改Topic的preferred replica
  10. Pyhton开发【第五篇】:Python基础之杂货铺
  11. SVN的错误: working copy locked
  12. OC本学习笔记Foundation框架NSString与NSMutableString
  13. SQL Server 审计操作概念
  14. JavaScript(四)变量
  15. visual studio split edit window 编辑器窗口分屏
  16. strftime使用%F格式化日期失败
  17. CanalSharp.AspNetCore v0.0.4-支持输出到MongoDB
  18. python-web开发环境搭建
  19. Flutter常用组件(Widget)解析-Image
  20. WPF datagrid 获取行或单格为NULL 问题

热门文章

  1. kinect2跑高博的orbslam2的过程(仅供自己参考记录)
  2. 【ssm整合打印sql语句】
  3. java第一天--Java开发环境的搭建以及使用eclipse从头一步步创建java项目
  4. 开源文字识别软件tesseract
  5. Maven项目骨架搭建
  6. 洛谷P4121 [WC2005]双面棋盘(线段树套并查集)
  7. [Xcode 实际操作]三、视图控制器-(5)使用UINavigationController视图入栈和出栈
  8. 整合spring和hibernate框架
  9. 死磕 java同步系列之synchronized解析
  10. Orthanc+OHIF DICOM Viewer最佳Dicom解析、在线浏览实践指南(解决方案)