Сложение чисел - как прибавить единицу, не потеряв 0

oopros

Новичок
На входе есть число, вида 0012575, я прибавляю ему 1 (0012575+1) - на выходе мне выдает 12576, а нужно 0012576(без потери первых нулей)
Подскажите как реализовать подобное?
Спасибо!
 

fixxxer

К.О.
Партнер клуба
На входе у тебя строка с цифрами, а не число. Соответственно, преобразуй потом обратно в строку с нулями - sprintf или str_pad.
 

AnrDaemon

Продвинутый новичок
Фанат, я таки подумал. А ты?
Складывать восьмеричные числа в десятичной системе и ныть про недостаток нулей - как-то неправильно.
 

Redjik

Джедай-мастер
ведущий ноль, но вот что произойдет с двумя нулями ...
 

Фанат

oncle terrible
Команда форума
Ваня, ну тв-то не тупи. при чем здесь ведущий ноль?
а 00af - это тоже восьмеричное число?
 

Фанат

oncle terrible
Команда форума
ну об этом же и речь
вы путаете синтаксис литералов в конкретном интерпретаторе с абстрактными данными.
Нигде же не написано, что 0012575 прописано в скрипте.
 

AnrDaemon

Продвинутый новичок
В отсутствие опровергающих исходных данных принимается поведение по умолчанию.
Код:
$ echo $(( 0012575 + 1 ))
5502
$ echo $(( 0x00AF + 1 ))
176
 

AnrDaemon

Продвинутый новичок
Welcome, именно что строка с цифрами. Строковая запись натурального числа, начинающаяся на ноль, означает восьмеричное число.
 

Фанат

oncle terrible
Команда форума
Welcome, именно что строка с цифрами. Строковая запись натурального числа, начинающаяся на ноль, означает восьмеричное число.
камон, у тебя результат выполнения кода перед глазами (если собственного опыта недостаточно)
 

WMix

герр M:)ller
Партнер клуба
AnrDaemon, гонишь али пописать или поспорить хочется? скопируй код, если кавычки не увидел! тут все знают про восмирическую запись числа.
 

AnrDaemon

Продвинутый новичок
То, что вы нашли баг в PHP, не отменяет того, что число с ведущим нулём - восьмеричное.
 
Сверху