Javascript 如何强制以10为基数输入数字?
JavaScript支持不同的基数。基数2、8、10和16很容易写成:Javascript 如何强制以10为基数输入数字?,javascript,Javascript,JavaScript支持不同的基数。基数2、8、10和16很容易写成: Number(0b10) //2 Number(0o10) //8 Number(10) //10 Number(0x10) //16 现在我想输入一个0000-9999之间的4位数字。问题是,在JavaScript中,不仅0oXX是八进制,而且前面有0的数字(如果可以的话)。是否有任何方法可以在不使用字符串输入的情况下确定以10为基数的“真实”原始输入 例如: Number(010) == Number(0o10)
Number(0b10) //2
Number(0o10) //8
Number(10) //10
Number(0x10) //16
现在我想输入一个0000-9999之间的4位数字。问题是,在JavaScript中,不仅0oXX
是八进制,而且前面有0的数字(如果可以的话)。是否有任何方法可以在不使用字符串输入的情况下确定以10为基数的“真实”原始输入
例如:
Number(010) == Number(0o10) //would be true
现在有一种方法可以强制JS将
Number(010)
视为十进制
当你写010
-它是八进制文字。但在严格模式下0
-前缀
因此,在我看来,您必须使用文本输入并解析它来实现您的目标
"use strict"
010.toString()
//Uncaught SyntaxError: Octal literals are not allowed in strict mode.
"use strict"
0o10.toString()
"8"