On 17/02/2020 10:10, Sergey Bylokhov wrote:
On 2/17/20 1:50 am, Alexey Ivanov wrote:
Otherwise there will always be cases where Spinner with float/double behaves unexpectedly, i.e. does not allow increasing/decreasing a value where one expects it to.

But what value is expected/unexpected? If the programmer wants to use float arithmetic and allow the user to select some value in the diapason by the JSpinner, is it expected that spinner return values which are exactly duplicate simple steps of float addition or not?

This would be expected, I'd say. I mean the steps of float addition subtractions because this is how it works in maths. But it's not always possible with floating point calculations in computers.


This new approach should also work for int too; although it's redundant as integer arithmetic is precise.

As far as I understand your approach, is to select the minimum if the resulted float value after the calculation is a little bit smaller than the minimum.

So if the minimum is -0.15 and resulted value is (-0.10d - 0.05d) = (-0.15000000000000002), what value should be shown by the spinner?
the same logic for int:
      the minimum is -15 and resulted value is (-11 - 5) = -16, what value should be shown by the spinner?

The set minimum value: -0.15d and -15 correspondingly.

--
Regards,
Alexey

Reply via email to