0

我有以下代码

var number = 0618260587

JSON.stringify(number)

字符串化的结果是 618260587 ,第一个零被自动截断。

我尝试了以下修复

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

但它警告未定义。我不知道

1)为什么字符串化的数据会截断第一个零 2)我认为 javascript 添加了两个变量,而与类型无关

4

1 回答 1

5

前导零是一个显示的东西,通常不是数字的一部分。每个数字之前/之后都有无数个不可见的零,但它们通常不显示。如果您想要前导零,请将数字视为字符串:

var number = '0618260587';

同样,在大多数情况下,带有前导零的数字被视为八进制,而不是十进制。由于这个原因,前导零可能会导致难以跟踪的错误 - 它看起来像一个小数,但对于解释器来说,它是一个完全不同的数字,例如..

0618260587 octal = 1616431 decimal
于 2012-08-13T02:16:38.877 回答