在Eiffel中设置真实类型的精度

时间:2016-11-05 08:26:19

标签: double precision eiffel

Eiffel中,在对DOUBLE类型的值执行某些操作后,我得到结果1.9999999999999998,而预期结果应为2。< / p>

我知道这是由于浮点运算的不准确造成的。我只需要两位数的精度(使用DOUBLE类型),因此,如果数字可以四舍五入为两位数,我认为结果将是2预期的。

我看过this问题,但它只讨论显示两位数字,而我想知道是否有办法整理并存储两位精度数值。

谢谢。

1 个答案:

答案 0 :(得分:1)

dcm gobo 库(均包含在contrib下的标准EiffelStudio发行版中) - 提供类DECIMALMA_DECIMAL可以设置为以指定的精度存储和操作数字。但是,这里的精度是有效位的总数,而不是小数点后的位数。如果在小数点后需要指定的位数,请使用正确的缩放整数类型。