在Eiffel中,在对DOUBLE类型的值执行一些操作后,我得到的结果是1.9999999999999998,而预期的结果应该是2。
我知道这是由于浮点运算中的错误造成的。我只需要两位数的精度(当使用DOUBLE类型时),因此,如果可以将数字四舍五入到两位数,我认为结果应该是2。
我看过this there,但它只谈到显示两位数,而我想知道是否有一种方法可以四舍五入并存储精度为两位数的值。
谢谢。
发布于 2016-11-05 17:04:44
dcm和gobo库(都包含在contrib下的标准EiffelStudio发行版中)-提供DECIMAL和MA_DECIMAL类,可以设置它们来以指定的精度存储和操作数字。但是,这里的精度是有效位数的总数,而不是小数点后的位数。如果小数点后需要指定位数,请改用适当缩放的整数类型。
https://stackoverflow.com/questions/40436211
复制相似问题