Wenn ich wie folgt vor:Javascript Parse int Rundungs Ausgabe
parseInt(parseFloat(9.20)*100*1)/100 // returns 9.19
Es gibt 9.19, wenn ich es will zurückkehren 9.20, was muss ich es bekommen ändern Sie den richtigen Wert zurück?
Ich habe das gleiche Problem, wenn ich es zu ändern:
parseInt(parseFloat(9.12)*100*1)/100 // returns 9.11
Aber jeder andere Wert funktioniert:
parseInt(parseFloat(9.30)*100*1)/100 // returns 9.30 (correct)
UPDATE:
: DasDie Lösung war
(Math.round(9.20*100*1)/100).toFixed(2)
Ja, das wird nicht in fast jeder Programmiersprache (einschließlich JavaScript) funktionieren. Binärer Fließpunkt kann einfach einige Werte nicht genau darstellen. –
Ihr Code macht keinen Sinn ... warum nicht 9.12/100 * 100? –
[dies] (https://www.w3schools.com/js/js_numbers.asp) könnte helfen –