There is no calculation error, what you're seeing is the result of JavaScript's use of IEEE-754 floating point for its number type. If you are expecting a result like 25.45 you will need to use a third party library that implements that kind of behavior. There are such "BigDecimal"-type libraries publicly available online for this kind of purpose (in addition to allowing larger values in general).
Most helpful comment
There is no calculation error, what you're seeing is the result of JavaScript's use of IEEE-754 floating point for its number type. If you are expecting a result like
25.45you will need to use a third party library that implements that kind of behavior. There are such "BigDecimal"-type libraries publicly available online for this kind of purpose (in addition to allowing larger values in general).