73.2413793103 ======= 73.2414
<type 'float'> ======= <class 'decimal.Decimal'>

当断言这两个值相等时,就出错了

参考链接: https://www.cnblogs.com/xueweihan/p/5207959.html

解决方案:1 转换为同一类型

浮点数转为decimal(意思为十进制,python这个模块提供了十进制浮点运算支持)

可以传递给Decimal整型或者字符串参数,但不能是浮点数据,因为浮点数据本身就不准确。

1) 浮点转Decimal

from decimal import *

a=7.133333333

print type(a)====>float

b=Decimal.from_float(a)

print type(b)====>Decimal

a-b<0.00001  ======>True

简介

decimal意思为十进制,这个模块提供了十进制浮点运算支持。

常用方法

1.可以传递给Decimal整型或者字符串参数,但不能是浮点数据,因为浮点数据本身就不准确。

2.要从浮点数据转换为Decimal类型

from decimal import * Decimal.from_float(12.222) # 结果为Decimal('12.2219999999999995310417943983338773250579833984375')

3.通过设定有效数字,限定结果样式:

from decimal import * getcontext().prec = 6 Decimal(1)/Decimal(7) # 结果为Decimal('0.142857'),六个有效数字

4.四舍五入,保留几位小数

from decimal import * Decimal('50.5679').quantize(Decimal('0.00')) # 结果为Decimal('50.57'),结果四舍五入保留了两位小数

5.Decimal 结果转化为string

from decimal import * str(Decimal('3.40').quantize(Decimal('0.0'))) # 结果为'3.40',字符串类型

最新文章

  1. Tern Sercer Tineout
  2. wamp(win1064位家庭版+apache2.4.20+php5.5.37+mysql5.5.50)环境搭建
  3. linux命令学习使用记录
  4. EBS中使用java进行 JavaConcurrentProgram 请求获取参数
  5. Milk
  6. centos 6.5 安装jenkins
  7. MFC DLL中导出函数模板
  8. H5 Canvas vs. SVG
  9. H5游戏见缝插针开发
  10. MPP 一、Greenplum 集群安装
  11. Springboot+redis 整合
  12. docker 安装NexusRepository Manager
  13. react 和 seamless-immutable
  14. Android_Studio_Checkout_Github_Error&quot;Cannot run program &quot;git.exe&quot;:CreateProcess error = 2
  15. Redis环境配置和命令语句
  16. .NET Core 项目经验总结:项目结构介绍 (一)
  17. 网络编程之HttpClient类(转)
  18. 2018.10.15 bzoj3564: [SHOI2014]信号增幅仪(坐标处理+最小圆覆盖)
  19. linux_connect_mysql
  20. POJ 1904 King&#39;s Quest tarjan

热门文章

  1. Java快捷键与搜狗输入法快键的冲突
  2. opencv学习之路(18)、霍夫变换
  3. matlab的三维绘图和四维绘图
  4. python---02.while循环 格式化输出 运算符 编码
  5. topcoder srm 715 div1 -23
  6. ODAC(V9.5.15) 学习笔记(六)TOraSQL、TOraTable和TOraStoredProc
  7. [NOI1995]石子合并 四边形不等式优化
  8. 【做题】arc080_f-Prime Flip——转换、数论及匹配
  9. 编译 glibc-2.14 时出现的一个LD_LIBRARY_PATH不路径bug
  10. 用yarn代替cnpm,cnpm漏包有点严重