如何获取一个以零开头的数字的位数
how to get the number of digits in a number with leading zeros
对于像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
相关文章:
- 如果元素's的ID以数字开头
- 如何获取一个以零开头的数字的位数
- 为什么可以't使用myDict.123语法的JavaScript字典键以数字开头
- 数据表rowId以数字问题开头
- regex表示以0开头但不是十进制的数字
- 搜索并查找以特定数字开头的数字
- 如何访问以数字开头的对象属性(语法错误:意外的标识符)
- 如何匹配字符串开头的数字
- Regex匹配除以7开头的10位数字以外的任何一组数字
- 在字符串的开头和结尾搜索相同的数字
- Javascript正则表达式匹配多个单词中至少一个以数字开头的单词,但至少匹配两个单词
- 正则表达式第一部分以数字开头
- 允许保存以小数点开头的数字
- 确保输入以 9344 开头,并且有 13 位数字
- 密码正则表达式:“至少 1 个字母、1 个数字、1 个特殊字符,并且不应以特殊字符开头”
- 检查字符串是否以括号中的数字开头
- 正则表达式避免使用特殊字符,并且不应以数字开头
- 当名称以数字开头时,库/类的 javascript 约定是什么
- 检查字符串是否以范围内的数字开头
- Javascript eval 在计算数学表达式时,如果使用的数字以 0 开头,则给出错误的输出