Das ist ziemlich seltsam, nicht wahr? Wenn ich mich nur an 0-9 erinnere, stellen die Buchstaben A, B, C, D, E, F einen hexadezimalen Wert dar. Wie kommt es, dass ABCDEFGHAIJ eine hexadezimale Darstellung hat?Parsing Zeichenfolge Wert in JavaScript
1
A
Antwort
1
Wie in den Kommentaren von epascarello erwähnt, hier ist der relevante Teil der MDN documentation dieses Verhalten zu erklären:
Wenn ParseInt ein Zeichen trifft, die nicht eine Zahl im ist spezifizierte Radix, ignoriert es und alle nachfolgenden Zeichen und gibt den Ganzzahlwert zurück, der bis zu diesem Punkt analysiert wurde. parseInt schneidet Zahlen zu ganzzahligen Werten ab. Führende und nachfolgende Leerzeichen sind zulässig.
Folglich parseInt("abcdefghij", 16)
wird analysieren tatsächlich "abcdef"
und dort anhalten. Daher ist das Ergebnis:
0xABCDEF = 11259375
Mit diesem Wissen, können Sie eine benutzerdefinierte Funktion verwenden, anstatt NaN
zurückkehren, wenn sie mit einem nicht-Hexadezimalstring aufgerufen:
function parseTrueHexa(str) {
return str.match(/^ *[a-f0-9]+ *$/i) ? parseInt(str, 16) : NaN;
}
console.log("parseInt() says:");
console.log(parseInt("aBcD", 16));
console.log(parseInt("abcdz", 16));
console.log("parseTrueHexa() says:");
console.log(parseTrueHexa("aBcD"));
console.log(parseTrueHexa("abcdz"));
Verwandte Themen
- 1. Javascript DOMParser Parsing Dokument nicht die Zeichenfolge
- 2. Parsing Multibyte Zeichenfolge in PHP
- 3. sql Query Parsing in JavaScript
- 4. Parsing einer Zeichenfolge in C++
- 5. Parsing Zeit Zeichenfolge in Python
- 6. LOLCODE Zeichenfolge Parsing
- 7. Parsing Lage Zeichenfolge
- 8. Benutzerdefinierte Parsing-Zeichenfolge
- 9. Parsing Datum Zeichenfolge
- 10. Go Parsing Zeit Zeichenfolge
- 11. Parsing String und erhalten Wert in TCL
- 12. Parsing Javascript (nicht JSON) in PHP
- 13. Javascript Parsing Times ohne Datum
- 14. Rekursive "Parsing" -Funktion in Javascript
- 15. Parsing Javascript Arrays in PHP
- 16. Parsing CSS in JavaScript/jQuery
- 17. Parsing Textdateien in Javascript/PHP?
- 18. javascript regex: Match-Wert innerhalb Zeichenfolge
- 19. Parsing einer Zeichenfolge mit Leerzeichen
- 20. Parsing 'Zeit Zeichenfolge' mit Python?
- 21. Vergleichen DOM-Knoten Wert zu Zeichenfolge Javascript
- 22. JavaScript Parsing JSON
- 23. Parsing Text mit Javascript
- 24. Parsing eine Regex-ähnliche Zeichenfolge
- 25. Parsing lange Zeichenfolge als Datetime
- 26. Parsing JSON Objekt in eine Zeichenfolge
- 27. Parsing von Daten aus Zeichenfolge in PHP
- 28. Parsing Klardaten mit Javascript (jQuery)
- 29. JavaScript Parsing-Array und immer den einzigartigen Wert
- 30. Javascript Parsing Problem
'parseInt ("abcdefghi", 16) bricht bei dem ersten Nicht-Hexa-Zeichen, auf das es trifft, auf. Also, was Sie bekommen, ist '0xABCDEF' – Arnauld
Wenn nur [einige Doco für' parseInt() '] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/parseInt). .. – nnnnnn
Beispiel [fiddle] (https://jsfiddle.net/RajeshDixit/y8ayx3w8/) für @ Arnaulds Kommentar – Rajesh