За последние 24 часа нас посетили 67437 программистов и 3313 роботов. Сейчас ищут 799 программистов ...

Научите использовать sprintf()

Тема в разделе "PHP для новичков", создана пользователем enshtein, 7 ноя 2008.

  1. enshtein

    enshtein Активный пользователь

    С нами с:
    27 авг 2006
    Сообщения:
    291
    Симпатии:
    0
    Код (Text):
    1. на входе          |      надо получить
    2.      0                             0,000
    3.    0000                          0,000
    4.      23                           0,023
    5.    0865                         0,865
    и т.д., таким образом на входе у меня может быть 1-4 значных числа, на выходе надо всегда показывать 4-х значное число, с отделенными запятой 3-мя разрядами!

    можно ли использовать для этого функцию sprintf() - если да то подскажите какой шаблон задать?
     
  2. enshtein

    enshtein Активный пользователь

    С нами с:
    27 авг 2006
    Сообщения:
    291
    Симпатии:
    0
    понял что sprintf() - тут не помошник вовсе
    изобрел страшный и ужасный костыль:
    PHP:
    1. function getTime($text)
    2. {
    3.     $l = strlen($text);
    4.     $text .= str_pad($buff, 4-$l, '0');
    5.     return $text{0} . ',' . substr($text, 1, 3);
    6. }
    ушел учить регулярки )))
     
  3. dAllonE

    dAllonE Guest

    enshtein, как тебе такой вариант?

    PHP:
    1. <?php
    2.     $numbers  =  array('0', '0000', '23', '0865');
    3.  
    4.     foreach($numbers  as  $number){
    5.        
    6.         echo  number_format((float)$number/1000, 3, ',', '.').'<br />';
    7.     }
    8.  
    9. ?>