• 10-12-2017, 22:18:45
    #1
    Merhaba, başlıkta tam olarak yazamadım ama. Durum şu;
    $adet diye bir değişkenim var veritanından gelen sayıyı yazdırıyorum. Ama veritanından sürekli tam değer gelmiyor. 1 1,5 2 2,5 +++ değerler gelebiliyor. Ama bunlar bu şekilde gelmiyor. 1.000000 1.500000 şeklinde geliyor.

    Bir fonksiyon ile virgülden sonraki rakamları silebiliyorum. Ama sıkıntı şu virgülden sonrakileri alma diyorum 1,5 olsa bile 1 veriyor. Virgülden sonra 1 sayı al diyorum bu kezde 1'i 1,0 olarak yazıyor.

    Burada php'nin hangi fonksiyonunu kullanmam gerekiyor. Virgülden sonra 0 haricinde bir sayı varsa 1 göster yoksa virgül olmadan ilk sayıyı göster demek istiyorum. Nasıl yapabilirim bunu?
  • 10-12-2017, 22:40:02
    #2
    Explode fonk. Ile virgülü parcalayabilirsiniz. Virgülün sagindaki yani parcaladiginiz 2.parcanin ilk karakterini substr fonk ile alabilirsiniz. If ile kontrol edip 0 ise su islemi yap degilse su islemi yap...
  • 10-12-2017, 22:41:45
    #3
    <?php echo number_format($sayi,0)?> yaparsan 1;
    <?php echo number_format($sayi,1)?> yaparsan 1,5;
    <?php echo number_format($sayi,2)?> yaparsan 1,50;
    <?php echo number_format($sayi,3)?> yaparsan 1,500 olur.
  • 10-12-2017, 22:43:19
    #4
    round($sayi,2); => Virgülden sonra 2 basamak gösterir. Virgülden sonraki 2. basamağı yuvarlar.
    number_format($sayi,2, ',', '.'); => virgülden sonra 2 basamak gösterir. Binler ayracını . yapar. Ondalık ayracını , yapar.
  • 10-12-2017, 22:43:56
    #5
    Üyeliği durduruldu
    celalyesil adlı üyeden alıntı: mesajı görüntüle
    Merhaba, başlıkta tam olarak yazamadım ama. Durum şu;
    $adet diye bir değişkenim var veritanından gelen sayıyı yazdırıyorum. Ama veritanından sürekli tam değer gelmiyor. 1 1,5 2 2,5 +++ değerler gelebiliyor. Ama bunlar bu şekilde gelmiyor. 1.000000 1.500000 şeklinde geliyor.

    Bir fonksiyon ile virgülden sonraki rakamları silebiliyorum. Ama sıkıntı şu virgülden sonrakileri alma diyorum 1,5 olsa bile 1 veriyor. Virgülden sonra 1 sayı al diyorum bu kezde 1'i 1,0 olarak yazıyor.

    Burada php'nin hangi fonksiyonunu kullanmam gerekiyor. Virgülden sonra 0 haricinde bir sayı varsa 1 göster yoksa virgül olmadan ilk sayıyı göster demek istiyorum. Nasıl yapabilirim bunu?
    Bunun için round fonksiyonunu kullanabilirsiniz.

    $money="1.54564564";
    echo round($money, 1);
  • 10-12-2017, 22:49:06
    #6
    Siz virgülden sonrakı sıfırları yuvarlamak istiyorsunuz sanırım. Örnegin 1,500000 rakamını 1,5 veya 1,50 yapmak istiyorsunuz anladığım kadarıyla yanı virgülden sonra yuvarlamak istiyorsunuz round fonksiyonu işinizi görür.
    Örnek verecek olursaK
    Yuvarlanacak sayı 5 ve 5ten büyükse yukarı yuvarlar , 5 ten küçükse aşağı yuvarlar. Yuvarladıktan sonra virgülden sonra 2 basamaklı olarak yazdıralım

    echo round(1.333333333,2); 
     ÇIKTISI 
    1.33
  • 10-12-2017, 22:59:59
    #7
    M_D_5 adlı üyeden alıntı: mesajı görüntüle
    Explode fonk. Ile virgülü parcalayabilirsiniz. Virgülün sagindaki yani parcaladiginiz 2.parcanin ilk karakterini substr fonk ile alabilirsiniz. If ile kontrol edip 0 ise su islemi yap degilse su islemi yap...
    Çok teşekkür ederim hocam şimdi dediğiniz yöntem ile oldu. Kafam durdu sabahtan beri kodlama yapmaktan R10+

    gencbeyin adlı üyeden alıntı: mesajı görüntüle
    <?php echo number_format($sayi,0)?> yaparsan 1;
    <?php echo number_format($sayi,1)?> yaparsan 1,5;
    <?php echo number_format($sayi,2)?> yaparsan 1,50;
    <?php echo number_format($sayi,3)?> yaparsan 1,500 olur.
    cheki77 adlı üyeden alıntı: mesajı görüntüle
    round($sayi,2); => Virgülden sonra 2 basamak gösterir. Virgülden sonraki 2. basamağı yuvarlar.
    number_format($sayi,2, ',', '.'); => virgülden sonra 2 basamak gösterir. Binler ayracını . yapar. Ondalık ayracını , yapar.
    yazilimajansi adlı üyeden alıntı: mesajı görüntüle
    Bunun için round fonksiyonunu kullanabilirsiniz.

    $money="1.54564564"; echo round($money, 1);
    Ofisimo adlı üyeden alıntı: mesajı görüntüle
    Siz virgülden sonrakı sıfırları yuvarlamak istiyorsunuz sanırım. Örnegin 1,500000 rakamını 1,5 veya 1,50 yapmak istiyorsunuz anladığım kadarıyla yanı virgülden sonra yuvarlamak istiyorsunuz round fonksiyonu işinizi görür.
    Örnek verecek olursaK
    Yuvarlanacak sayı 5 ve 5ten büyükse yukarı yuvarlar , 5 ten küçükse aşağı yuvarlar. Yuvarladıktan sonra virgülden sonra 2 pasamaklı olarak yazdıralım

    echo round(1.333333333,2); ÇIKTISI 1.33
    Yardımlarınız için çok teşekkür ederim yanlış anladınız veya yanlış anlattım. @M_D_5; dediği şekilde yaptım tam aradığım buydu.
  • 10-12-2017, 23:05:30
    #8
    Üyeliği durduruldu
    Hocam çözmüşsünüz kolay gelsin.
    Ek not: Lakin o kadar kod yazmak yerine sadece round($degisken, 1); yaparak 1,00000 yada 1,00 gelen rakamı "1" , 1,5466324 gibi bir rakamı ise "1,5" olarak gösterebilirsiniz. Explode anlattığınız işlem için proje büyüklüğünü bilmiyorum ama büyük bir proses varsa stabil değil.
  • 10-12-2017, 23:12:23
    #9
    yazilimajansi adlı üyeden alıntı: mesajı görüntüle
    Hocam çözmüşsünüz kolay gelsin.
    Ek not: Lakin o kadar kod yazmak yerine sadece round($degisken, 1); yaparak 1,00000 yada 1,00 gelen rakamı "1" , 1,5466324 gibi bir rakamı ise "1,5" olarak gösterebilirsiniz. Explode anlattığınız işlem için proje büyüklüğünü bilmiyorum ama büyük bir proses varsa stabil değil.
    Hocam ilk mesajı görünce direkt uyguladım. Sizinki daha performanslı haklısınız. Iflerle falan uğraşmadan direkt yazıyor. Teşekkürler.
    round fonksiyonu önerenlere r10+ teşekkürler