Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何强制以10为基数输入数字?_Javascript - Fatal编程技术网

Javascript 如何强制以10为基数输入数字?

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)

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) //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"