|
|
|
| Всем привет!
Есть переменная, в которой числовое значение. Оно может быть любой длины, и может начинаться с нулей - допустим, 00001. Мне нужно убрать все нули, которые идут в начале (т.е. 00001 преобразовать в 1), а если нули встречаются в 02330034, то удалить нужно только первый ноль, а остальные оставить (2330034). Количество нулей может быть разное. Как решить такую задачку? :)
Всем заранее спасибо!! | |
|
|
|
|
|
|
|
для: Diplex
(28.04.2010 в 22:26)
| | ltrim(..., '0') -- если речь чисто о строке.
А если речь о небольших числах, вмещающихся в integer, то просто приведение к этому типу. | |
|
|
|
|
|
|
|
для: Diplex
(28.04.2010 в 22:26)
| | В порядке уменьшения предпочтения:
<?
$num = intval('000001230004'); // если число влезает в PHP_INT_SIZE байт
$num = ltrim('000001230004', '0'); // если числа не будут отрицательными
$num = preg_replace('!^(-?)0*!', '\\1', '000001230004'); // для всех ситуаций
|
| |
|
|
|
|
|
|
|
для: Саня
(28.04.2010 в 22:42)
| | $num = ltrim('000001230004', '0'); // если числа не будут отрицательными
А если так:
$num = ltrim('000001230004', '-0'); | |
|
|
|
|
|
|
|
для: neadekvat
(28.04.2010 в 22:55)
| | Тогда потеряется минус. | |
|
|
|
|
|
|
|
для: Саня
(28.04.2010 в 22:56)
| | СПАСИБО всем!! | |
|
|
|
|
|
|
|
для: Саня
(28.04.2010 в 22:56)
| | Да, точно, противоположную задачу решаю. Пора спать.. | |
|
|
|