• 30-03-2020, 10:36:01
    #1
    Merhaba arkadaşlar.
    Veri tabanında bu şekil kayıtlı bir tutar mevcut : 11538101 ( veri tabaınıda decimal olarak kayıtlı)
    bu tutarı 115.381,01 TL olarak göstermek için nasıl bir fonksiyon yapmam gerekiyor ?
  • 30-03-2020, 10:40:14
    #2
    ugurylmz2121 adlı üyeden alıntı: mesajı görüntüle
    Merhaba arkadaşlar.
    Veri tabanında bu şekil kayıtlı bir tutar mevcut : 11538101 ( veri tabaınıda decimal olarak kayıtlı)
    bu tutarı 115.381,01 TL olarak göstermek için nasıl bir fonksiyon yapmam gerekiyor ?
    number_format(sprintf('%0.2f', preg_replace("/[^0-9.]/", "", 10000000)),2)." TL";;
    10000000 yazan yer tutar miktari
  • 30-03-2020, 10:43:23
    #3
    sayiniz veri tabanindan gelen hali 11538101 bu degilde 115381.01 bu ise (decimal olarak kayitli ise boyle geliyor olabilir )
    echo number_format(11538101, 2, ',', '.');
    eger 11538101 boyle geliyorsa ilk once sayiyi bolmeniz lazim
    $number= 11538101;
    $float_number= (float)11538101/100;
    echo number_format($float_number, 2, ',', '.');
    seklinde calismasi lazim
  • 30-03-2020, 10:43:28
    #4
    $n = '115381.01';
    
    $n = number_format($n, 2, ',', '.') . ' TL';
    
    echo $n;     // 115.381,01 TL
  • 30-03-2020, 10:49:15
    #5
    Hocam decimal basamak sayısını bilmen lazım ki her verinin de decimal olmayacağını göz önünde bulundurman lazım, yani veritabanında decimal basamağı belirli olmayan değeri böyle çevirmen büyük hatalara sebebiyet verecektir,
    ama yine de işini şu kodla görebilirsin, yalnız kesinlikle veritabanında ki veri yapını decimale uygun düzenlemeni öneririm sağlıklı bi durum değil mevcut hali

    $value = "11538101";
    $number = substr ($value, 0, strlen($value) - 2) ;
    $decimal = substr ($value, -2) ;
    echo $number."<br>";
    echo $decimal."<br>";
    echo number_format($number."." . $decimal, 2, ',', '.')."<br>";
  • 30-03-2020, 11:09:52
    #6
    asiminnesli adlı üyeden alıntı: mesajı görüntüle
    sayiniz veri tabanindan gelen hali 11538101 bu degilde 115381.01 bu ise (decimal olarak kayitli ise boyle geliyor olabilir )
    echo number_format(11538101, 2, ',', '.');
    eger 11538101 boyle geliyorsa ilk once sayiyi bolmeniz lazim
    $number= 11538101;
    $float_number= (float)11538101/100;
    echo number_format($float_number, 2, ',', '.');
    seklinde calismasi lazim
    Hocam alttaki verdiğiniz örneği yaptım düzeldi. Size ve diğer cevap veren arkadaşlara teşekkür ederim.