• 17-12-2023, 20:09:11
    #1
    Merhabalar

    elimde "0000050" şu şekilde bir değer var bunu number format kullanarak donusturdugumda "50.00" şeklinde alabiliyorum. Ben ise şu şekilde istiyorum "0,000,050.00" bunun farklı bir methodu var mı?
  • 17-12-2023, 20:15:20
    #2
    Üyeliği durduruldu
    $value = "0000050"; $formatted_value = number_format((float)$value, 2, '.', ','); echo $formatted_value;

    umarım bir yararı olmuştur
  • 17-12-2023, 20:19:58
    #3
    Bydfniz adlı üyeden alıntı: mesajı görüntüle
    $value = "0000050"; $formatted_value = number_format((float)$value, 2, '.', ','); echo $formatted_value;

    umarım bir yararı olmuştur
    Cevabınız için teşekkür ederim ama dediğim gibi verdiğiniz kod sayının başındaki etkisiz sıfırları kaldırıyor ben kaldırmasını istemiyorum.
  • 17-12-2023, 20:38:33
    #4
    function formatNumber($number)
    {
        $formatted_number = sprintf('%09.2f', $number); // Sayıyı istenen formata göre düzenle
        return substr_replace($formatted_number, ',', -6, 0); // Virgülü doğru konuma yerleştir
    }
    
    // Örnek kullanım
    $number = "0000050";
    $formatted = formatNumber($number);
    echo $formatted; // Çıktı: 0,000,050.00
    chatgpt ile yazılmıştır
  • 17-12-2023, 21:13:33
    #5
    Mhmmd adlı üyeden alıntı: mesajı görüntüle
    function formatNumber($number)
    {
        $formatted_number = sprintf('%09.2f', $number); // Sayıyı istenen formata göre düzenle
        return substr_replace($formatted_number, ',', -6, 0); // Virgülü doğru konuma yerleştir
    }
    
    // Örnek kullanım
    $number = "0000050";
    $formatted = formatNumber($number);
    echo $formatted; // Çıktı: 0,000,050.00
    chatgpt ile yazılmıştır
    teşekkür ederim ama kullanıcıdan gelen sayı daha uzun olduğunda işe yaramıyor.
  • 18-12-2023, 11:37:58
    #6
    İşinize yarayabilir:

    <?php
    function formatNumber($number, $pad) {
        $padded_number = str_pad($number, $pad, '0', STR_PAD_LEFT);
        $arr = array();
        $count = strlen($padded_number);
        for($i = $count - 1; $i >= 0 ; $i--) {
            if($i == $count - 1){
                array_push($arr, "0", "0", ".");
                array_push($arr, $padded_number[$i]);
            }
            elseif(($count - $i) % 3 == 0 && $i != 0){
                array_push($arr, $padded_number[$i]);
                array_push($arr, ",");
            }
            else{
                array_push($arr, $padded_number[$i]);
            }
        }
        $joined = join("",$arr);
        $reversed = strrev($joined);
        return $reversed;
    }
    $number = "0012350";
    $result = formatNumber($number, 15);
    echo $result; 
    ?>