0

次のコードがあります

var number = 0618260587

JSON.stringify(number)

文字列化された結果は 618260587 で、最初のゼロは自動的に切り捨てられます。

次の修正を試みました

if(number.length<8)
        {
        var book1 = "0" + number;
        alert(book1);

しかし、それは未定義に警告します。私はわかりません

1) 文字列化されたデータが最初のゼロを切り捨てる理由 2) javascript は型に関係なく 2 つの変数を追加すると思いました

4

1 に答える 1

5

先行ゼロは表示用であり、通常は数字の一部ではありません。すべての数字の前後に無数の目に見えないゼロがありますが、通常は表示されません。先行ゼロが必要な場合は、数値を文字列として扱います。

var number = '0618260587';

同様に、ほとんどの場合、先行ゼロの数値は 10 進数ではなく 8 進数として扱われます。むき出しの先行ゼロは、追跡が困難なバグを引き起こす可能性があります。これは、10 進数のように見えますが、インタープリターにとっては完全に異なる数です。

0618260587 octal = 1616431 decimal
于 2012-08-13T02:16:38.877 に答える