C'de sonuç küsuratlıysa float değilse int olarak yazdırma (Tüm Sürüm)
Tüm Forumlar >> Web Tasarım - Programlama >> Yazılım Geliştirme >> Delphi / C++ /Vb
Mesaj
Tronuen => C'de sonuç küsuratlıysa float değilse int olarak yazdırma (2.10.2020 11:53:07)
Ben c'de float bir değer üzerinden işlemler yapıyorum. Çıkan sonuç küsüratlıysa güzel. Zaten floattı. Float olarak ekrana yazdırıyorum. Fakat çıkan sonuç küsüratlı değilse ekrana gene float olarak yazıyor. Mesela '146.000000' olarak yazıyor. Çıkan sonuç tam sayı ise ben ekrana tam sayı olarak yazdırmak istiyorum. '146' şeklinde. Bunun için inte çevirmem veya %d olarak yazmam yeterli ama çıkan sonucun küsüratlı olup olmadığını nasıl kontrol edebilirim?

seyfi84 => C'de sonuç küsuratlıysa float değilse int olarak yazdırma (2.10.2020 14:11:52)
#include <stdio.h>

int main()
{
    float sayi = 12.0;
    int noktadan_sonra;
    
    if ((int)sayi == sayi)
        noktadan_sonra = 0;
    else
        noktadan_sonra = 3;
    
    printf("%.*f\n", noktadan_sonra, sayi);

    return 0;
}



Tronuen => C'de sonuç küsuratlıysa float değilse int olarak yazdırma (2.10.2020 15:02:35)
Evet oldu. Teşekkür ederim. O yıldız ne oluyor oradaki? Sadece printfin içindeki olayın mantığını anlatır mısın

seyfi84 => C'de sonuç küsuratlıysa float değilse int olarak yazdırma (2.10.2020 17:00:22)
şuraya bakıp yaptım http://www.cplusplus.com/reference/cstdio/printf/ o kadar.. ben zaten 15 yıldır C kullanmıyorum bile.

Sayfa: [1]