Bir kaç hafta önce kod parçacıkları incelerken yine kulağı tersten tutmaya çalışan
bir kod ile karşılaştım ve “Hazırlanacak Makaleler" listeme not ettim. :)
bir kod ile karşılaştım ve “Hazırlanacak Makaleler" listeme not ettim. :)
Kullandığımız diller bize bir çok fonksiyon sunmasına rağmen
bir süre sonra bunlar da yetersiz kalmaya başladı ve “framework" kullanarak
işlerimizi daha da hızlandırmaya çalıştık,
hala da süreçleri daha fazla hızlandırmak için çalışıyoruz.
bir süre sonra bunlar da yetersiz kalmaya başladı ve “framework" kullanarak
işlerimizi daha da hızlandırmaya çalıştık,
hala da süreçleri daha fazla hızlandırmak için çalışıyoruz.
Bunun ana sebebi biz yazılımcıların çalışma saatlerini
şirketlere / işverenlere ücret karşılığında
kiralayarak çalışıyor olması sanırım.
şirketlere / işverenlere ücret karşılığında
kiralayarak çalışıyor olması sanırım.
Bu yüzden bizi fazladan kod yazmaktan kurtaracak fonksiyonları zorluk derecesine
bakmadan bu seride paylaşacağım.
bakmadan bu seride paylaşacağım.
Bazı projelerde bol haneli sayıları arayüzde göstermemiz gerekir.
(Örneğin : Kullanıcının kazandığı toplam puan)
Bu tarz durumda ekrana;
1250145 - bir milyon iki yüz elli bin yüz kırk beş - sayısını direk yazarsak
okunması oldukça güç olacaktır.
Bu sayıyı sondan üçer haneler şeklinde ayraçlarla bölmemiz gerekebilir.
(Örneğin : Kullanıcının kazandığı toplam puan)
Bu tarz durumda ekrana;
1250145 - bir milyon iki yüz elli bin yüz kırk beş - sayısını direk yazarsak
okunması oldukça güç olacaktır.
Bu sayıyı sondan üçer haneler şeklinde ayraçlarla bölmemiz gerekebilir.
number_format fonksiyonundan haberdar olmayan bir coder arkadaşım
aşağıdakine benzer kod yazarak araya ayraçlar eklemiş.
aşağıdakine benzer kod yazarak araya ayraçlar eklemiş.
// Kullanıcının toplam skoru
$point = 12684729;
// Bu değer kaç haneli?
$length = strlen($point);
// Geçici değişken
$k = 1;
// Skorun ayraçlı halini atacağımız değişken
$real_point = '';
// Skorun hane sayısı kadar döngüye girelim.
for($i = $length; $i > 0; $i--) {
// Tüm haneleri tersten birer birer alalım.
$real_point .= substr($point, $i - 1, 1);
// Her 3 haneden sonra ayraç ekleyelim.
if($k % 3 == 0 & $i != 1) { $real_point .= ','; }
// Katsayıyı 1 arttıralım.
$k++;
}
// Değişkenin değerini ters çevirelim. (Döngü tersten döndüğü için)
$real_point = strrev($real_point);
// Ekrana çıktı verelim.
echo $real_point;
// Çıktı : 12,684,729
Bu örnek daha az satır kod yazarak başka şekillerde de hazırlanabilir. Ben buna benzer bir kod ile karşılaştığım için direk bu örnekten gitmek istedim. Bu kadar kod yazmak yerine Php’nin bize sunduğu fonksiyonu kullansaydık tek satırda işimizi çözecektik. :)
$point = 12684729;
echo number_format($point);
// Çıktı : 12,684,729
Benzer bir işlemi para birimleri için yapmak isterseniz yine imdadınıza yetişecek bir fonksiyon bulunuyor. Para işlemleri için money_format , sayı işlemleriniz için number_format fonksiyonlarını inceleyebilirsiniz.
Hiç yorum yok:
Yorum Gönder
yorum yap