it-swarm.com.de

Wie man JS zwingt, Mathematik zu machen, anstatt zwei Saiten zusammenzusetzen

Ich brauche Javascript, um einer Integer-Variablen 5 hinzuzufügen, aber stattdessen wird die Variable als Zeichenfolge behandelt, also schreibt sie die Variable aus und fügt dann 5 am Ende der "Zeichenfolge" hinzu. Wie kann ich es zwingen, stattdessen Mathe zu machen?

var dots = 5
function increase(){
    dots = dots + 5;
}

Ausgaben: 55

Wie kann ich die Ausgabe von 10 erzwingen?

Könnte es irgendwo einen Fehler in meinem Skript geben?

Ich initialisiere dots so:

dots = document.getElementById("txt").value;
90
Sean

Du hast die Leitung 

dots = document.getElementById("txt").value;

in Ihrer Datei werden Punkte als Zeichenfolge festgelegt, da der Inhalt von TXT nicht auf eine Zahl beschränkt ist.

um es in ein Int zu konvertieren, ändern Sie die Zeile in:

dots = parseInt(document.getElementById("txt").value);
104
Alex

das einfachste:

dots = dots*1+5;

die Punkte werden in eine Zahl umgewandelt.

48
mier

VERGESSEN SIE NICHT - Verwenden Sie parseFloat();, wenn Sie mit Dezimalzahlen arbeiten.

18
Nicolas

parseInt() sollte den Trick tun

var number = "25";
var sum = parseInt(number) + 10;
var pin = number + 10;

Gibt Ihnen

sum == 35
pin == "2510"

http://www.w3schools.com/jsref/jsref_parseint.asp

6
Alan L.

Ich füge diese Antwort hinzu, weil ich sie hier nicht sehe.

Eine Möglichkeit ist, ein "+" vor den Wert zu setzen

beispiel:

var x = +'11.5' + +'3.5'

x === 15

Ich habe festgestellt, dass dies der einfachste Weg ist

In diesem Fall lautet die Zeile:

dots = document.getElementById("txt").value;

könnte in geändert werden 

dots = +(document.getElementById("txt").value);

um eine Zahl zu zwingen

HINWEIS: 

+'' === 0
+[] === 0
+[5] === 5
+['5'] === 5

Das funktioniert auch für Sie: 

dots -= -5;
3
Holger.Buick

es ist wirklich einfach

var total = (1 * yourFirstVariablehere) + (1 * yourSecondVariablehere)

dies zwingt Javascript zur Vermehrung, da es keine Verwirrung für * Anmelden in Javascript gibt.

Sie können + hinter der Variablen hinzufügen, und es wird eine ganze Zahl erzwungen

var dots = 5
    function increase(){
        dots = +dots + 5;
    }
0