A 0 führende zeigt eine Oktalzahl in JavaScript. Eine Oktalzahl darf keine 8 enthalten, daher ist diese Zahl ungültig. Außerdem unterstützt JSON (offiziell) keine Oktalzahlen, daher ist der JSON formal ungültig, auch wenn die Zahl keine 8 enthält. Einige Parser unterstützen dies jedoch, was zu einiger Verwirrung führen kann. Andere Parser werden es als eine ungültige Sequenz erkennen und einen Fehler werfen, obwohl die genaue Erklärung, die sie geben, abweichen kann.
Lösung: Wenn Sie eine Nummer haben, speichern Sie sie niemals mit führenden Nullen. Wenn Sie einen Wert haben, der eine führende Null haben muss, behandeln Sie ihn nicht als Zahl, sondern als Zeichenfolge. Speichern Sie es in Anführungszeichen.
In diesem Fall haben Sie einen UPC, der needs to be 12 digits long und möglicherweise führende Nullen enthält. Ich denke, der beste Weg, es zu speichern, ist als eine Schnur.
Es ist jedoch fraglich. Wenn Sie es als Barcode behandeln, sehen Sie die führende 0 als einen integralen Teil davon, dann macht die Zeichenfolge Sinn. Andere Arten von Barcodes können sogar alphabetische Zeichen enthalten.
Auf der anderen Seite. Ein UPC ist eine Zahl, und die Tatsache, dass er links mit Nullen bis 12 Ziffern aufgefüllt ist, könnte als Anzeigeeigenschaft angesehen werden. Wenn Sie die Zahl auf 13 Stellen belassen, indem Sie eine zusätzliche 0 hinzufügen, haben Sie einen EAN-Code, denn EAN ist eine Obermenge von UPC.
Wenn Sie einen monatären Betrag haben, können Sie ihn als € 7.30
anzeigen, während Sie ihn als 7.3
speichern. Es kann also sinnvoll sein, einen Produktcode als Nummer zu speichern.
Aber diese Entscheidung liegt an Ihnen. Ich kann Ihnen nur raten, eine Zeichenfolge zu verwenden, die meine persönliche Vorliebe für diese Codes ist, und wenn Sie die Nummer wählen, müssen Sie die 0
entfernen, damit es funktioniert.
Die JSON-Syntax erlaubt es nicht, dass Zahlen mit der Ziffer 0 beginnen. Sie können Ihre Zahlen natürlich in Anführungszeichen setzen. – Pointy
Eine Dezimalzahl, die mit einer Null beginnt, sollte eine Zeichenkette sein –
Wenn Sie eine 0 haben, dann ist es höchstwahrscheinlich keine Ganzzahl, sondern ein Zeichenbezeichner. Behandle sie einfach als Saiten! –