如何获取一个以零开头的数字的位数

how to get the number of digits in a number with leading zeros

本文关键字:开头 数字 一个以 何获取 获取      更新时间:2023-09-26

对于像var a = 123这样的正常数字,很容易计算位数(使用a.toString().length),但如果var a = 00123呢?(假设它仍然是十进制)。

使用一个可能的简单解决方案,您可能会遇到一些问题。首先输入一个以零开头的数值,其解释将与预期不同。通常,它不会以十进制格式存储数字,而是以八进制或其他基数存储。如果您只想获得该值的长度,那么您需要将其存储为字符串。

var a = '00123';
console.log(a.length);

请记住,如果你不将其存储为字符串,那么数字可能不会存储为十进制。

这是一个常见的Javascript gotcha,有一个简单的解决方案:

只需指定基数或"基数",如下所示:

parseInt('000123',10); // 123

你也可以使用号码:

Number('000123'); // 123