Javascript 将前导零数字转换为字符串,即015转换为“0”;015“;
我在将前导零数字转换为字符串时遇到问题 输入:Javascript 将前导零数字转换为字符串,即015转换为“0”;015“;,javascript,Javascript,我在将前导零数字转换为字符串时遇到问题 输入: function numToString(num) { num = num + ""; return num; } numToString(015); // outputs "13" 输出: numToString(015); // outputs "13" 期望输出: numToString(015); // outputs "15" 以数字13的八进制表示的数字015 不能将前缀设置为0,并将其以10为基数。如果你想把它打印成15,只需通
function numToString(num) {
num = num + "";
return num;
}
numToString(015); // outputs "13"
输出:
numToString(015); // outputs "13"
期望输出:
numToString(015); // outputs "15"
以数字13的八进制表示的数字015
不能将前缀设置为0,并将其以10为基数。如果你想把它打印成15,只需通过
numToString(15);或numToString(017)
编辑:
如果您确实想将八进制打印为字符串,请按如下所示修改代码
function numToString(num) {
num = num.toString(8) + "";
return num;
}
numToString(015); // outputs "15"
以数字13的八进制表示的数字015
不能将前缀设置为0,并将其以10为基数。如果你想把它打印成15,只需通过
numToString(15);或numToString(017)
编辑:
如果您确实想将八进制打印为字符串,请按如下所示修改代码
function numToString(num) {
num = num.toString(8) + "";
return num;
}
numToString(015); // outputs "15"
问题并非如前所述。除非您使用
eval
来评估在运行时组合在一起的一些代码,numToString(015)
是程序员输入的东西,015
是编译脚本时转换为数字的数字源代码文本
整数的十进制数字文字必须以非零数字开头。在严格模式下,以0
开始整数将引发错误:
函数f(){
“严格使用”
返回015
}
f()
问题不在前面说明的范围内。除非您使用eval
来评估在运行时组合在一起的一些代码,numToString(015)
是程序员输入的东西,015
是编译脚本时转换为数字的数字源代码文本
整数的十进制数字文字必须以非零数字开头。在严格模式下,以0
开始整数将引发错误:
函数f(){
“严格使用”
返回015
}
f()
为什么不首先将其写为15?@lumio,因为输入在开头应该是一个数字15是一个数字。或者我遗漏了什么,JS会识别任何带前导零的数字(没有8s或9s),而octalIt不会。当它首先是一个数字时,您不需要转换它:)当它来自输入字段时,它已经是一个字符串。做parseInt(input,10)
就可以了。为什么不先把它写成15呢?@lumio,因为输入在开头应该是一个数字15是一个数字。或者我遗漏了什么,JS会识别任何带前导零的数字(没有8s或9s),而octalIt不会。当它首先是一个数字时,您不需要转换它:)当它来自输入字段时,它已经是一个字符串。做parseInt(输入,10)
就可以了。