jquery-ui icon indicating copy to clipboard operation
jquery-ui copied to clipboard

function _calculateNewMax

Open rsn073 opened this issue 2 years ago • 5 comments

I found a bug in the calculation of the formula in the _calculateNewMax function, but there is also a little bug with js like 0.1+0.2=0.30000000000000004

If we use the library for the price filter, namely the slider from it, and for example if prices come max - 3469.98 min - 2833.05 step - 0.01

then the formula yields the number 3469.9800000000005

then there is a comparison and 3469.9800000000005 will be greater than 3469.98, we enter the condition and subtract from 3469.9800000000005 - 0.01 and we have 3469.97 at the output, so for example, in the filter we will never see a product with a maximum price

rsn073 avatar Sep 04 '23 06:09 rsn073

Thanks for the report. Does the issue you describe exist when jQuery UI 1.12.1 is used or only with jQuery UI 1.13.0 or newer?

fnagel avatar Sep 04 '23 21:09 fnagel

I found it on jQuery UI 1.12.1

rsn073 avatar Sep 05 '23 10:09 rsn073

Thanks for the report. Since the issue is already in 1.12, given limited team resources it's not likely to be fixed by the UI team; see the project status at https://blog.jqueryui.com/2021/10/jquery-maintainers-update-and-transition-jquery-ui-as-part-of-overall-modernization-efforts/. PRs are welcome if they're not too complex.

mgol avatar Sep 12 '23 00:09 mgol

(also, please add a test case)

mgol avatar Sep 12 '23 00:09 mgol

version 1.13.2 also has this issue below is the example, you can see the console values are not correspond with max1 , which is calculate by function _calculateNewMax ` let max1=19.7, min1=14.3 $( "#slider" ).slider({ min: min1, max: max1, range: true, step: 0.1, values: [ min1, max1 ], create: function( event, ui ) { console.log($(this).slider('values')) } });

`

cccczzzyyyy avatar Dec 20 '23 11:12 cccczzzyyyy