Scheme Gambit格式带小数的数字计算错误

Scheme Gambit格式带小数的数字计算错误,scheme,gambit,Scheme,Gambit,我正在使用gambit-c intepreter来评估scheme算术运算,但它的结果是不正确的。例如,我执行+23 20.01,它给我43.010000000000005,而不是43.01 仅当我使用带2个小数点的数字时才会出现这种情况 有解决办法吗?它与浮点计算的方式有关。请阅读 你真走运!在Scheme中,您可以使用精确的数字来解决此问题: (+ 23 #e20.01) ; ==> 4301/100 您可以使用以下方法使其不精确: (exact->inexact (+ 23

我正在使用gambit-c intepreter来评估scheme算术运算,但它的结果是不正确的。例如,我执行+23 20.01,它给我43.010000000000005,而不是43.01

仅当我使用带2个小数点的数字时才会出现这种情况


有解决办法吗?

它与浮点计算的方式有关。请阅读

你真走运!在Scheme中,您可以使用精确的数字来解决此问题:

(+ 23 #e20.01) ; ==> 4301/100
您可以使用以下方法使其不精确:

(exact->inexact (+ 23 #e20.01)) ; ==> 43.01

它与浮点计算的方式有关。请阅读

你真走运!在Scheme中,您可以使用精确的数字来解决此问题:

(+ 23 #e20.01) ; ==> 4301/100
您可以使用以下方法使其不精确:

(exact->inexact (+ 23 #e20.01)) ; ==> 43.01