Ich muss einen Weg finden, eine große Zahl in eine Hex-Zeichenfolge in Javascript konvertieren. Geradeaus habe ich versucht aber wenn myBigNumber
einen sehr großen Wert hat (zB 1298925419114529174706173) dann wird ein fehlerhaftes Ergebnis zurückgeben, das ist einfach genial. Ich habe versucht, durch eigene Funktion zu schreiben, wie folgt:Convert eine große Ganzzahl in eine Hex-Zeichenfolge in Javascript
function (integer) {
var result = '';
while (integer) {
result = (integer % 16).toString(16) + result;
integer = Math.floor(integer/16);
}
}
jedoch eine große Zahl 16 Modulo alle return 0 (Ich denke, diese grundlegende Frage ist, was das Problem mit toString
verursacht habe ich auch versucht (integer % 16)
mit (integer - 16 * Math.floor(integer/16))
ersetzt aber das hatte. das gleiche Problem.
ich habe auch in der Big Integer Javascript-Bibliothek gesucht, aber das ist ein großes Plugin für einen hoffentlich relativ einfach Problem.
Alle Gedanken, wie ich ein gültiges Ergebnis zu bekommen? Vielleicht einig Art von Teile und herrsche Ansatz? Ich bin wirklich ziemlich fest hier.
Dies ist ein Problem mit großen Zahlen, die Umwandlung nicht '_String_ 1298925419114529174706173 == = 1298925419114529174706170' –
Ihre Nummer ist weit über die größte Ganzzahl von Javascript, siehe http://stackoverflow.com/questions/307179/what-is-javascripts-max-int-whats-the-highest-integer-value-a-number -can-go-t – bfavaretto
Nun, das macht keinen Spaß. Wenn ich eine Basis-10-Darstellung der Zahl als eine Zeichenfolge hätte, gibt es eine direkte Möglichkeit, diese in eine Hex-Zeichenfolge umzuwandeln? –