Esteban, You can instead use `7.1 round: 1` to get 7.1. It's not the problem of the rounding algorithm. It's because IEEE float can't express the exact value of 0.1. --- tomo
2020年9月7日(月) 21:28 Esteban Maringolo <emaring...@gmail.com>: > > Hi Sven, > > On Mon, Sep 7, 2020 at 9:10 AM Sven Van Caekenberghe <s...@stfx.eu> wrote: > > > > On 6 Sep 2020, at 22:21, Esteban Maringolo <emaring...@gmail.com> wrote: > > > > > > It is not for printing but for testing. I want to assert that a > > > certain calculation gives the expected result. > > > > Then you should use #assert:closeTo: and friends. > > (9.1 + (-2.0)) closeTo: 7.1 precision: 0.1. > > I remembered about it, and implemented my own > #assertDifferential:equals: which I first did convert to > ScaledDecimals and then compares with #roundedByScale. > > > Floats should always be compared using an epsilon (precision) value in > > tests, not using equality. > > Sure, but 7.1 roundTo: 0.1 should return 7.1. Shouldn't it? > > Regards! > > Esteban A. Maringolo >