On 6 Sep 2020, at 16:06, Esteban Maringolo <emaringolo@gmail.com> wrote:
Hi,
Continuing with my issues with decimals, I'm having one issue that is not clear to me why it happens.
If I do: (9.1 + (-2.0)) roundTo: 0.1. "7.1000000000000005"
I expect to get a single decimal Float (rounded with whatever precision, but a single decimal).
Even if I do something like this: 7.1 roundTo: 0.1
It gives the wrong result.
In VW and VAST it provides the right result. (9.1 + (-2.0)) roundTo: 0.1 "7.1"
In Dolphin it also returns the wrong result, it seems to use the same algorithm to round it.
Is this a bug?
Maybe. But I would not approach the problem of rounding like that. You probably want to control how numbers are printed. I would keep the numbers themselves at maximum internal precision and only do something when printing them. 1 / 3 asFloat printShowingDecimalPlaces: 1. Since you like Seaside, the following is even much more powerful (has *many* options): GRNumberPrinter new precision: 1; print: 1/3 asFloat. Check it out.
Esteban A. Maringolo