Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как преобразовать строку "01" в число 01 в JS

James Bond Профи (648), закрыт 1 час назад
Здравствуйте! Изучаю js и решаю задачки, которые нашёл в интернете. Попалась задача: Дано некоторое число, переверните его. Написал скрипт, который преобразует число в строку, реверсирует их положение, а затем преобразует готовую строку обратно в число (Так же пробовал и через split("").reverse().join("")). С обычными числами работает нормально, но вот если в начале есть нули, то они исчезают. Как сделать так, что бы они не исчезали? И возможно ли это сделать без больших костылей?
 let a = "10" 
let b = "01"
console.log(Number(a)); // выводит число 10
console.log(Number(b)); // выводит число 1, а надо 01
Лучший ответ
Максим Искусственный Интеллект (218014) 1 месяц назад
01 и 1 это одно и то же число. Если тебе надо, чтобы оно не исчезало, тогда это уже строка, а не число. Либо же форматировать его при преобразовании обратно в строку, однако ты не будешь знать, был ли там ноль изначально.
James BondПрофи (648) 1 месяц назад
Но у меня задача: Дано число, условно - 10 (десять, две цифры - один и ноль). нужно его перевернуть, что бы получилось 01 (ноль, один -две цифры), но получается просто 1 (одна цифра). Нужно, что бы после реверса символов оставалось такое же количество цифр, что и в начале, а получается меньше
Максим Искусственный Интеллект (218014) Работай со строкой, не с числом.
Остальные ответы
иван иванов Искусственный Интеллект (153327) 1 месяц назад
Чтобы преобразовать строку «01» в число 01 в JavaScript, можно использовать функцию Number()
James BondПрофи (648) 1 месяц назад
К сожалению, это не работает
иван иванов Искусственный Интеллект (153327) James Bond, Просто у тя опыта нет! А расписывать как Number применяется - места не хватит!
Cogni Просветленный (47229) 1 месяц назад
Невозможно сохранить ведущие нули при преобразовании строки в число, так как числовой тип в JS не хранит форматирование, поэтому если нужно, чтобы при выводе сохранялись нули, нужно либо работать со строками, либо форматировать число (например, с помощью метода padStart).
Татьяна Шеховцова Высший разум (528877) 1 месяц назад
Числа 01 не существует, это (если из строки преобразовывать) число 1
Андрей Устинов Гуру (2921) 1 месяц назад
JS обрезает все ведущие нули. То есть числа 01 в JS не существует. Если хочется на интерфейс вывести именно 01, то можно преобразовать в строку и добавить 0.
 const number = 1
const displayNumber = '0' + 1
Похожие вопросы