Arama butonu
Bu konudaki kullanıcılar: 1 misafir
3
Cevap
855
Tıklama
0
Öne Çıkarma
C'de sonuç küsuratlıysa float değilse int olarak yazdırma
T
5 yıl
Yüzbaşı
Konu Sahibi

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?



S
5 yıl
Yüzbaşı

#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;
}





< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
T
5 yıl
Yüzbaşı
Konu Sahibi

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




Bu mesajda bahsedilenler: @seyfi84
S
5 yıl
Yüzbaşı

şuraya bakıp yaptım http://www.cplusplus.com/reference/cstdio/printf/ o kadar.. ben zaten 15 yıldır C kullanmıyorum bile.



< Bu ileti mobil sürüm kullanılarak atıldı >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.