18 Şubat 2014 Salı

Php ile Sayı Basamaklarını Formatlı Şekilde Gösterme

Php ile bir sayıyı binler, milyonlar, milyarlar basamakları formatlı bir şekilde göstermek için bir fonksiyon yazalım. Yazacağımız bu fonksiyon, 1209045678 sayısını 1.209.045.678 şeklinde basamakları formatlanmış olarak geriye döndürecektir.

/*
* @param int $number
* @return string
*/
public function basamakFormatla($number) {

    $format = '';

    $i = 0;

    while ($number > 0) {

        $first = $number % 1000;

        $number = ($number - $first) / 1000;

        if ($i == 0) {

            if ($first < 10) {

                $format = '00' . $first;

            } else if ($first < 100) {

                $format = '0' . $first;

            } else {

                $format = $first;

            }

        } else {

            $format = $first . '.' . $format;

        }

        $i++;

    }

    return $format;

}

/*
* Sayımız 45069702 için fonksiyonu
* aşağıdaki gibi çağırıp sonucu
* ekranda görebiliriz
*/

echo basamakFormatla(45069702);

// Sonuç aşağıdaki gibi olacaktır

45.069.702

//


2 yorum :

  1. Bu yorum yazar tarafından silindi.

    YanıtlaSil
  2. Elinize sağlık.

    Ben de nacizane biraz daha karışık ama biraz daha kısa şöyle bir kod yazdım. Built-in fonksiyonlar ile :

    $number = '3999893298';
    $numberArray = str_split(str_pad($number,strlen($number)+(3-strlen($number)%3), "0", STR_PAD_LEFT),3);
    $numberArray[0] = intval($numberArray);
    echo implode($numberArray,'.');

    İyi günler

    YanıtlaSil