码迷,mamicode.com
首页 > 其他好文 > 详细

float精度丢失问题解决,用decimal.Decimal

时间:2019-12-17 00:55:54      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:ima   浮点   info   col   jpg   http   问题   接收   color   

首先来看一个浮点数运算:下面,当2个float类型数据,进行运算,就不能保证精度

a = 0.1
b = 0.3
print(a)
print(b)
print(b-a)

技术图片


那么,怎么让上面的减法值,得到我们想要的 0.2 呢?导入 decimal模块,如果要不丢失精度Decimal类中必须要接收的是 str类型,如果还是传入 float类型,那么精度还是会丢失

 

import decimal
a = 0.1
b = 0.3
print(decimal.Decimal(str(b)) - decimal.Decimal(str(a)))
print(decimal.Decimal(b) - decimal.Decimal(a))

技术图片

float精度丢失问题解决,用decimal.Decimal

标签:ima   浮点   info   col   jpg   http   问题   接收   color   

原文地址:https://www.cnblogs.com/xiaofeng91/p/12051898.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!