对于普通数字,例如var a = 123
,很容易计算位数(使用a.toString().length
),但如果var a = 00123
怎么办? (假设它仍然是十进制的。)
答案 0 :(得分:1)
您可能会遇到一些可能的简单解决方案。首先输入带前导零的数字值,将被解释为与预期不同。通常它不会以十进制格式存储数字,而是以八进制或其他基数存储。如果您只想获取该值的长度,则需要将其存储为字符串。
var a = '00123';
console.log(a.length);
请记住,如果您不将其存储为字符串,则该数字可能不会存储为十进制数。
这是一个常见的Javascript问题,有一个简单的解决方案:
只需指定基数或“基数”,如下所示:
parseInt('000123',10); // 123
您也可以使用数字:
Number('000123'); // 123