2500 Stimmen

Wie wandelt man in JavaScript eine Zeichenkette in eine ganze Zahl um?

Wie konvertiere ich in JavaScript eine Zeichenkette in eine ganze Zahl?

7 Stimmen

Auf dieser Seite finden Sie unten eine gute Tabelle, in der verschiedene Umrechnungsmethoden verglichen werden: medium.com/@nikjohn/

1 Stimmen

In Ermangelung einer Klärung durch den Auftraggeber könnte diese Frage im Sinne einer Umwandlung interpretiert werden jede Zeichenkette in eine Zahl umzuwandeln, d.h. "Hund" in eine Zahl zu verwandeln (was natürlich auch möglich ist).

2 Stimmen

Er hat den Köder geschluckt: @DanielCarrera und doch hat niemand hier die Frage in diesem Sinne interpretiert. Wahrscheinlich, weil sie, wenn das das Ziel gewesen wäre, sehr wahrscheinlich ganz anders formuliert worden wäre. Schließlich wird das Verfahren, das dabei zum Einsatz kommt ("Hashing"), nicht als "Hash" bezeichnet und wurde auch nie als " Konvertierung zu einer ganzen Zahl".

5voto

mhenry1384 Punkte 7322
function parseIntSmarter(str) {
    // ParseInt is bad because it returns 22 for "22thisendsintext"
    // Number() is returns NaN if it ends in non-numbers, but it returns 0 for empty or whitespace strings.
    return isNaN(Number(str)) ? NaN : parseInt(str, 10);
}

0 Stimmen

Beachten Sie jedoch, dass Number unterstützt einige spezielle Formate, die parseInt falsch interpretieren wird. Zum Beispiel, Number("0x11") => 17 entonces parseInt wird zurückgegeben 0 . Es wäre vielleicht besser, wenn Suche nach Nicht-Ziffern wenn das Ziel darin besteht, alle Nicht-Integer abzulehnen. Oder könnte tun var f = Number(str); return f.isInteger() ? f : NaN; Das hängt davon ab, was genau Sie zulassen/ablehnen wollen.

4voto

Ofir Punkte 176

Das ist der sicherste Weg, um sicherzustellen, dass Sie eine gültige ganze Zahl erhalten:

let integer = (parseInt(value, 10) || 0);

Beispiele:

// Example 1 - Invalid value:
let value = null;
let integer = (parseInt(value, 10) || 0);
// => integer = 0

// Example 2 - Valid value:
let value = "1230.42";
let integer = (parseInt(value, 10) || 0);
// => integer = 1230

// Example 3 - Invalid value:
let value = () => { return 412 };
let integer = (parseInt(value, 10) || 0);
// => integer = 0

3voto

elnaz nasiri Punkte 117

Sie können plus verwenden. Zum Beispiel:

var personAge = '24';
var personAge1 = (+personAge)

dann können Sie den Typ der neuen Variablen durch typeof personAge1 ; das ist number .

0 Stimmen

Könnten Sie bitte erklären, was + in diesem Fall bedeutet und wie der Guss erfolgt?

3voto

Vinod Kumar Punkte 957

enter image description here

Zahl(" 200.12 ") // return 200.12

Zahl("200.12") // return 200.12

Zahl("200") // return 200

enter image description here

parseInt(" 200.12 ") // return 200

parseInt("200.12") // return 200

parseInt("200") // return 200

parseInt("Textinformationen") // return NaN

enter image description here


Es wird die erste Zahl zurückgegeben


parseFloat("200 400") // return 200

parseFloat("200") // return 200

parseFloat("Textinformationen") // return NaN

parseFloat("200.10") // return 200.10

enter image description here

---

Runden einer Zahl auf die nächste Ganzzahl


Math.floor(" 200.12 ") // return 200

Math.floor("200,12") // return 200

Math.floor("200") // return 200

3voto

Javier Giovannini Punkte 2136

Summierung der Multiplikation von Ziffern mit ihrer jeweiligen Zehnerpotenz:

d.h.: 123 = 100+20+3 = 1*100 + 2+10 + 3*1 = 1*(10^2) + 2*(10^1) + 3*(10^0)

function atoi(array) {

// use exp as (length - i), other option would be to reverse the array.
// multiply a[i] * 10^(exp) and sum

let sum = 0;

for (let i = 0; i < array.length; i++) {
    let exp = array.length-(i+1);
    let value = array[i] * Math.pow(10,exp);
    sum+=value;
}

return sum;

}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X