У меня есть функция, которая принимает число/целое число в качестве параметра, и я пытаюсь удалить все возможные ведущие нули из этого числа, прежде чем делать что-либо еще в функции. Однако числа с ведущими нулями, похоже, уже каким-то образом проанализированы, прежде чем я смогу что-то сделать с параметром функции.
До сих пор я пробовал это:
function numToString(num){
var string = num.toString();
console.log(string);
};
numToString(0011); // output is "9"
numToString(1111); // output is "1111"
Я также пробовал это:
function numToString(num, base){
var string = num.toString();
var parse = parseInt(string, base);
console.log(parse);
};
numToString(0011, 10); // output is "9"
numToString(1111, 10); // output is "1111"
Конечно, второй пример не работает, так как num.toString()
изначально не дал ожидаемого результата. Я не хочу заменять параметр функции "num" строкой, но оставлю его как число.
Может быть, есть что-то очевидное, что я упускаю, но я не могу понять, что именно. Я знаю, что число с начальными нулями рассматривается как восьмеричное число, но я хотел бы знать, могу ли я работать с числом, введенным в качестве параметра, когда оно имеет начальные нули (т. е. не исходит из переменной, а буквально вводится как параметр функции).
num
является числом, то оно никогда не может иметь ведущих нулей. - person CertainPerformance   schedule 30.11.2018numToString(0011)
- есть ли способ поймать это или вернуть ошибку, когда это произойдет? - person McVenco   schedule 30.11.2018numToString(0011)
, интерпретатор Javascript сразу же видитnumToString(9)
. Это никогда не0011
. - person Reinstate Monica Cellio   schedule 30.11.2018