0

Eiffel中,对类型的值进行一些操作后DOUBLE,我得到了结果1.9999999999999998,而预期的结果应该是2

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

我见过这个问题,但它只谈论显示两位数,而我想知道是否有办法以两位数的精度四舍五入和存储值。

谢谢你。

4

1 回答 1

1

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

于 2016-11-05T09:04:43.963 回答