On 13/02/2020 21:33, Sergey Bylokhov wrote:
On 2/12/20 8:21 am, Alexey Ivanov wrote:
The bug report says that going from -0.15 to -0.10 does not allow going back to -0.15. This happens because the result of this sequence of operations cannot be represented exactly, or, in other words, because of rounding errors; or rather the result is less than the set minimal value.

Can we set the value of the spinner to the set minimal value instead of disallowing the operation. I mean, after going up the displayed value is -0.10; going down by 0.05 gives the result which is less than the minimal value for the spinner, and thus going down is not allowed. What if we set the value of the spinner to its minimal value instead?

In this case, we will need to update all types including int. Isn't it will be surprised that the spinner will show the value which is not calculated as
"defaultValue + stepValue * stepCount"?


Wouldn't a comment make the intention clear?

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.

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

--
Regards,
Alexey

Reply via email to