Hi,
I have two questions:
Thanks in advance
Hello, Artem,
Thank you for writing to us.
Please see our answers below:
1) We would like to confirm that it is a JS floating-point arithmetic issue.
Our development team will continue to research it. We will keep you updated.
In the meantime, we kindly suggest using the maxDecimalPlaces
parameter to limit the number of digits after the floating-point.
Please see the following JSFiddle example for illustration: https://jsfiddle.net/flexmonster/s5w2460v/
2) About parsing:
The result of data parsing for numbers included in quotes may differ depending on the used browser and user locale.
We strongly recommend passing raw data to Flexmonster and configuring the formatting (for example, the currency symbol) in the report object.
Please see our number formatting tutorial for guidance: https://www.flexmonster.com/doc/number-formatting/#!currency
This approach is also illustrated in the provided JSFiddle example: https://jsfiddle.net/flexmonster/s5w2460v/
Please let us know if you have any questions.
Best Regards,
Vera
Hello, Artem,
We are happy to let you know that the issue with beautifying numbers with a floating point was fixed.
This is available in the 2.7.18 version of Flexmonster: https://www.flexmonster.com/release-notes/
You are welcome to update the component.
Here is our updating to the latest version guide for assistance: https://www.flexmonster.com/doc/updating-to-the-latest-version/
Please let us know if everything works fine for you.
Best Regards,
Illia
Hi Illia,
It seems like issue is not fully fixed. I managed to reproduce it again:
https://jsfiddle.net/7z9hxdv0/
Could you check?
Hello, Artem,
Thank you for reaching out to us.
We would like to kindly explain that although we have introduced several rounds of improvements, it is not possible to fully control the way floating-point numbers work. The following resource provides an explanation of why floating-point math is not accurate.
As a possible solution, our team recommends using the maxDecimalPlaces
parameter to limit the number of possible decimal places, for instance:
formats: [
{
name: "distanceFormat",
decimalPlaces: -1,
decimalSeparator: ".",
maxDecimalPlaces: 1
}
]
Here is a modified version of the provided JSFiddle: https://jsfiddle.net/flexmonster/gzuL0845/
Please let us know if this helps.
Kind regards,
Vera