As of the XSD specification allows that primitive datatypes Decimal, Double, Float and Integer to have a precision with more than 15 significant digits (example is via totalDigits).
When we are using parseFloat here / here and parseInt here makes the parsed values lose precision (javascript does not support float/number representation with more than 15 digits).