Verhindern der wissenschaftlichen Notation für große ganze Zahlen in JavaScript
Der Umgang mit großen ganzen Zahlen in JavaScript kann schwierig sein, da die Sprache dazu neigt, sie in zu konvertieren wissenschaftliche Notation bei Verwendung in einem String-Kontext für Zahlen mit mehr als 21 Ziffern. Dies kann insbesondere beim Drucken von Ganzzahlen als Teil einer URL problematisch sein. Glücklicherweise gibt es Möglichkeiten, diese Konvertierung zu verhindern und den vollständigen numerischen Wert beizubehalten.
Native JavaScript-Methoden
Die Number.toFixed-Methode von JavaScript kann verwendet werden, um Zahlen in a zu formatieren angegebene Dezimalgenauigkeit. Es gibt jedoch eine Einschränkung: Es wechselt zur wissenschaftlichen Notation für Zahlen größer oder gleich 1e21 und die maximale Genauigkeit beträgt 20.
Benutzerdefinierte Implementierung
Weitere Informationen Flexibilität: Sie können Ihre eigene Funktion erstellen, z. B. die gezeigte Funktion „toFixed“. unten:
function toFixed(x) { // Handle small values if (Math.abs(x) < 1.0) { var e = parseInt(x.toString().split('e-')[1]); if (e) { x *= Math.pow(10,e-1); x = '0.' + (new Array(e)).join('0') + x.toString().substring(2); } } // Handle large values else { var e = parseInt(x.toString().split('+')[1]); if (e > 20) { e -= 20; x /= Math.pow(10,e); x += (new Array(e+1)).join('0'); } } return x; }
Über JavaScript hinaus
Für komplexe Szenarien mit großen Ganzzahlen sollten Sie die Verwendung einer BigInt-Bibliothek wie BigNumber, Leemon's BigInt oder BigInteger in Betracht ziehen. Die neueste JavaScript-Version führt außerdem native BigInt-Unterstützung ein. Um es zu verwenden, konvertieren Sie einfach die Ganzzahl mit BigInt(n) in ein BigInt-Objekt und rufen Sie dann toString() auf.
Das obige ist der detaillierte Inhalt vonWie kann ich verhindern, dass JavaScript große ganze Zahlen in wissenschaftliche Notation umwandelt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!