标题: [问题求助] Python中浮点数计算结果不够精确的问题 [打印本页]
作者: netdzb 时间: 2020-4-19 17:33 标题: Python中浮点数计算结果不够精确的问题
from decimal import Decimal
def add(x,y):
return x+y
num1=Decimal(input())
num2=Decimal(input())
print(add(num1,num2))
1.2
11.2
12.39999999.....
我已经加上decimal了啊
作者: wujunkai 时间: 2020-4-19 17:59
回复 1# netdzb
这个真的是IEEE一个诡异的协议的问题啊,实在不行用round吧
作者: bailong360 时间: 2020-4-19 21:27
你是 py2 吧,Decimal(input()) 这一步就损失了精度,因为 input() 会先把字符串转成浮点数再传给 Decimal
py2 应该这样写- from decimal import Decimal
-
- def add(x,y):
- return x+y
-
- num1=Decimal(raw_input())
- num2=Decimal(raw_input())
-
- print(add(num1,num2))
复制代码
作者: cfwyy77_bat 时间: 2020-4-20 08:45
我这测试没有问题, python3.7
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |