
Böylesine bir ders anlatasım yoktu ama forumda gezerken bu işlem için kocaman bir kod yapısı gördüm ve gülüp geçmiştim. Sonrasında ulan arama yapmasına rağmen bu işlemi gerçekleştirecek başka yolların olduğunu bilmediğini düşündüm ve bunu yazılı olarak anlatmaya karar verdim. Eminim birçoğunuz bunun nasıl yapılacağını bilmiyorsunuz. Bu işlemi sayıları tek tek saydırıp sonrasında 3 e bölüm her bölünen yere virgül ya da nokta koymak yerine var olan hazır php fonksiyonunun kullanmak daha mantıklı. Zaten bu fonksiyon pek bilinmediği için bu lüzumsuz yollara gidiliyor.
Bu işlemi gerçekleştirecek olan ve inanılmaz derecede bize yardımcı olan fonksiyonumuz; number_format();
Bu fonksiyon içine direk değer alabileceği gibi bir de 4 değer alarak da işlem görmektedir. Yapıyı şöyle incelemek gerekirse; number_format [Gelecek Sayısal Değer] [Küsurat Olacaksa Basamak Değeri] [Küsurat Ayracı] [3lü Basamak Ayracı]
Yukarıdaki gibi bir değer alması söz konusudur. Şimdi ilk önce normal kullanımını örnek ille gösterelim sonrasında ise 4lü değer aldığındaki çıktılara bir göz atalım.
Şimdi bir değişkenimiz olsun ve bu değişkeni fonksiyondan geçirelim bakalım ne gibi bir sonuç alacağız. Değişkenimizin değeri 12345 olsun. Bakalım çıktı olarak bize nasıl bir şey verecek.
$veri = "12345"; echo number_format($veri);
Ekrana direk olarak çıktı aldığımızda sonuç olarak bize 12,345 diye bir sonuç verecektir. Yani 3erli basamaklara ayırıp otomatik olarak virgül ile böldü.
Örneğimizdeki sayı tam bir sayıydı. Şimdi küsuratlı bir sayıda bunu deneyelim ve nasıl bir sonuç alacağımızı görelim.
$veri = "12345.67"; echo number_format($veri);
Yukarıdaki gibi bir kullanım yaptığımızda küsuratın 0.50 değerinden büyük olduğu için sayımızı yuvarladı ve 12346 olarak bir çıktı verdi. Yani bu fonksiyon ile küsuratlı bir veri girişinde yuvarlama yaptığını öğrendik.
Şimdi basit kullanımından sonra gelin 4lü değer ile nasıl işlem yaptığını görelim. Yukarıdaki küsuratlı örneği temel alarak 4lü veri ile işleme sokalım. Küsurat bölümüne nokta 3lü basamaklara ise virgül koyalım. Küsurat basamak değerini de 2 yapalım.
$veri = "12345.67"; echo number_format($veri,2,".",",");
Yukarıdaki tanıma göre fonksiyonu bu şekilde değiştirdiğimizde çıktı olarak 12,345.67 değerini verecektir.
Görmüş olduğunuz gibi number_format ile verileri bu şekilde basamaklara ayırabiliriz. Virgül ve nokta dışında isterseniz boşluk bırakabilir, başka sembol kullanabilir veya harf bile kullanabilirsiniz. Fonksiyondaki 3. Ve 4. Değerlere istediğinizi yazabilirsiniz. Böylece çıktınız nasıl olsun istiyorsanız o şekilde ayarlama yapabilirsiniz.