Форматирование числа

Тема в разделе "PHP", создана пользователем scvorec, 28 сен 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. scvorec

    scvorec Создатель

    Регистр.:
    9 ноя 2007
    Сообщения:
    33
    Симпатии:
    1
    Есть переменная
    HTML:
    $num = "32456,28"; (число может быть любое)
    Нужно привести его к более симпатичному виду: 32 456,28
    Использовал:
    HTML:
    <?echo number_format($num, 2,',',' ');?>
    Все хорошо, но когда в переменной целое число, т.е. 32456, то выдается
    HTML:
    32 456,00
    А мне нужно, чтобы целое число было без нулей.
    Как лечить?
     
  2. shamantc

    shamantc ЗлОй ШаМан

    Заблокирован
    Регистр.:
    3 ноя 2008
    Сообщения:
    655
    Симпатии:
    184
  3. pitkina

    pitkina

    Регистр.:
    1 апр 2007
    Сообщения:
    253
    Симпатии:
    176
    как вариант, исходя из наличия запятой в строке, изменять второй аргумент (число десятичных знаков)

    PHP:
    $num "32456,28";
    $num strpos($num,',') ? number_format(str_replace(',','.',$num),2,',',' ') : number_format($num,0,',',' ');
    echo 
    $num;
     
  4. scvorec

    scvorec Создатель

    Регистр.:
    9 ноя 2007
    Сообщения:
    33
    Симпатии:
    1
    не работает
     
  5. CrashX

    CrashX В прошлом XSiteCMS

    Регистр.:
    6 июн 2008
    Сообщения:
    682
    Симпатии:
    112
    типов данных хоть и нет но привести к ним некто не мешает.
    PHP:
    $number 1234;
    // Вариант 1  использовать real
    echo (is_real($number)? number_format($number2','' '):number_format($number0','' '));
    // Вариант 2 использовать float
    echo (is_float($number)? number_format($number2','' '):number_format($number0','' '));
    // -------------------
    $number 1234.236;
    echo (
    is_real($number)? number_format($number2','' '):number_format($number0','' '));
    echo (
    is_float($number)? number_format($number2','' '):number_format($number0','' '));
     
Статус темы:
Закрыта.