Здравствуйте! Изучаю js и решаю задачки, которые нашёл в интернете. Попалась задача: Дано некоторое число, переверните его. Написал скрипт, который преобразует число в строку, реверсирует их положение, а затем преобразует готовую строку обратно в число (Так же пробовал и через split("").reverse().join("")). С обычными числами работает нормально, но вот если в начале есть нули, то они исчезают. Как сделать так, что бы они не исчезали? И возможно ли это сделать без больших костылей?
let a = "10" let b = "01" console.log(Number(a)); // выводит число 10 console.log(Number(b)); // выводит число 1, а надо 01
01 и 1 это одно и то же число. Если тебе надо, чтобы оно не исчезало, тогда это уже строка, а не число. Либо же форматировать его при преобразовании обратно в строку, однако ты не будешь знать, был ли там ноль изначально.
Но у меня задача: Дано число, условно - 10 (десять, две цифры - один и ноль). нужно его перевернуть, что бы получилось 01 (ноль, один -две цифры), но получается просто 1 (одна цифра). Нужно, что бы после реверса символов оставалось такое же количество цифр, что и в начале, а получается меньше
Максим
Искусственный Интеллект
(218014)
Работай со строкой, не с числом.
Невозможно сохранить ведущие нули при преобразовании строки в число, так как числовой тип в JS не хранит форматирование, поэтому если нужно, чтобы при выводе сохранялись нули, нужно либо работать со строками, либо форматировать число (например, с помощью метода padStart).
JS обрезает все ведущие нули. То есть числа 01 в JS не существует. Если хочется на интерфейс вывести именно 01, то можно преобразовать в строку и добавить 0.