2016-08-01 12 views
2

ich einige Eingaben in einem HTML-Formular mit Javascript haben die Eingaben auf Änderungen AutofillJavascript parseFloat ohne Dezimalstellen Autofill

Das Problem ist, dass die Folge Code zeigen Dezimalstellen mehr Dezimalstellen wie dieser 42880,34623465464356435634 Der Code ist:

thetotal.value = parseFloat(total.value) * (1.00/1.19); 

Dieser Code erhalten den Preis abzüglich Steuern vom Gesamt und es funktioniert, aber es mir die Dezimalzahlen zeigen ...

Was ich brauche, ist der Preis in dem Beispiel zu sein:

42880 

Ohne Punkte oder Kommas. oder, wie 42,880 oder 42.880 und absolutly nicht 42880,34623465464356435634

Ich will nur zeigen, 42880

Versuchte mit .round wie folgt aus:

thetotal.value = parseFloat(total.value) * (1.00/1.19).round(2); 

.round (2), aber aus irgendeinem Grund die addEventListener Anschlag Arbeiten für diesen Eingang bei Verwendung von .round (2)

+0

So möchten Sie 'parseInt()'?! ... –

+0

Was mit 'ParseInt falsch ist()' ?! –

+0

es funktioniert perfekt vielen Dank – Liberator

Antwort

2

Benutzer parseInt Funktion dafür. Wie unten:

thetotal.value = parseInt(parseFloat(total.value) * (1.00/1.19)); 

Sie erhalten nur Integer als Ausgabe.

Ein anderer Weg ist Math.round. Wie es unten:

thetotal.value = Math.round(parseFloat(total.value) * (1.00/1.19)); 
+0

Eine andere Möglichkeit, es zu tun? – Liberator

+0

Math.round Funktion von Javascript. –

+0

es funktioniert perfekt Dank viel – Liberator

2

warum verwenden Sie nicht Math.round()?

var total = {}; 
 
total.value = 51027.6120192; 
 
var thetotal = {}; 
 

 
thetotal.value = Math.round(parseFloat(total.value) * (1.00/1.19)); 
 

 
document.write(thetotal.value);

Ausgabe

42880