Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在Eiffel中,对类型的值进行一些操作后DOUBLE,我得到了结果1.9999999999999998,而预期的结果应该是2。
DOUBLE
1.9999999999999998
2
我知道这是由于浮点运算不准确造成的。我只需要两位数的精度(在使用DOUBLE类型时),因此,如果可以将数字四舍五入为两位数,我认为结果将符合2预期。
我见过这个问题,但它只谈论显示两位数,而我想知道是否有办法以两位数的精度四舍五入和存储值。
谢谢你。
dcm和gobo库(都包含在标准 EiffelStudio 发行版中contrib) - 提供类DECIMAL,MA_DECIMAL可以设置为以指定精度存储和操作数字。但是,这里的精度是有效位数的总数,而不是小数点后的位数。如果您需要小数点后的指定位数,请改用适当缩放的整数类型。
contrib
DECIMAL
MA_DECIMAL