Hi Tomohiro,

Thanks, that certainly is the simplest solution that does exactly what I need.

Maybe roundTo: should be considered harmful when using Floats.
(and it is very unlikely anybody is going to round to something other
than a power of 10)

Best regards!


Esteban A. Maringolo

On Mon, Sep 7, 2020 at 9:51 AM Tomohiro Oda <tomohiro.tomo....@gmail.com> wrote:
>
> 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
> >
>

Reply via email to