写了一段代码,但是计算结果不正确咋办?

TBDslay-avatar

TBDslay

你不贴代码让别人云编码吗,秀儿[s:a2:lucky]
Area 51 alien-avatar

Area 51 alien

用decimal 不要用double
SexyGamerChic-avatar

SexyGamerChic

浮点数原理的限制吧
Stream187-avatar

Stream187

你好歹贴一下代码啊[s:ac:汗]
Real Mirage-avatar

Real Mirage

数据类型问题吧
不太可能是编译器优化了
BiskutHupSeng-avatar

BiskutHupSeng

[quote][pid=485417089,25121224,1]Reply[/pid] Post by [uid=1978569]靖轩[/uid] (2021-01-15 12:13):

用decimal 不要用double[/quote]用python写的,也可以这么解决吗
Berrr-avatar

Berrr

是不是精度不够啊,换成高精度的数据类型试试[s:a2:不明觉厉]
kekbun-avatar

kekbun

可能和浮点数编码有关系
BiskutHupSeng-avatar

BiskutHupSeng

[quote][pid=485417370,25121224,1]Reply[/pid] Post by [uid=20005617]丨冥王之怒丨[/uid] (2021-01-15 12:14):

你好歹贴一下代码啊[s:ac:汗][/quote]代码挺长的[s:ac:瞎]
!Phantomoon-avatar

!Phantomoon

浮点数的二进制存储有误差
CertifiedBoyLover-avatar

CertifiedBoyLover

没有git吗
MagicMojo-avatar

MagicMojo

用的python2还是3
𝑵𝒂𝒚𝒐𝒎𝒛𝒛𝒊-avatar

𝑵𝒂𝒚𝒐𝒎𝒛𝒛𝒊

听描述大概率是浮点数运算的问题。
BiskutHupSeng-avatar

BiskutHupSeng

[quote][pid=485417883,25121224,1]Reply[/pid] Post by [uid=81341]silverna[/uid] (2021-01-15 12:16):

用的python2还是3[/quote]python3
gaaasstly-avatar

gaaasstly

你的代码很长
然后只有一个输入,没有中间值?
打断点啊…检查每一个中间值
cam-avatar

cam

把你预期和实际的数贴一下啊,估计是浮点数存储问题,
keesam-avatar

keesam

精准度的问题,可能数据类型没选对,我也不知道你是啥语言呐[s:ac:汗]
jamal243-avatar

jamal243

[s:ac:茶]盲猜一个是运算精度的问题,你要是说代码挺长的那很有可能是中间过程的误差累积导致的
Ipapichulo-avatar

Ipapichulo

decimal加一