BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > C Programlama > C standart kütüphanesi > <math.h> > rint

rint() fonksiyonu

Bildirim

double rint(double arg); (C99)

float rintf(float arg); (C99)

long double rintl(long double arg); (C99)


double lrint(double arg); (C99)

float lrintf(float arg); (C99)

long double lrintl(long double arg); (C99)


double llrint(double arg); (C99)

float llrintf(float arg); (C99)

long double llrintl(long double arg); (C99)

Açıklama

Kendisine geçirilen parametreyi, geçerli yuvarlama moduna göre en yakın tamsayı değerine yuvarlar.

Parametreler

arg: Float bir değerdir.

Dönüş değeri

Eğer bir hata meydana gelmezse, geçerli yuvarlama moduna göre en yakın tamsayı değeri geri döndürülür.

Örnek


#include <stdio.h>
#include <math.h>
#include <fenv.h>

void Get_Rounding(void);

int main(void)
{
    int curr_method;
    double dd=7.3;

    /* Aktif yuvarlama yöntemi */
    Get_Rounding();
    printf("Değişken değeri: %.2f, Yuvarlanmış değişken değeri: %.2f\n", dd, rint(dd));

    /* Aktif yuvarlama yöntemini kaydetme */
    curr_method = fegetround();

    /* Geçici olarak aktif yuvarlama yöntemini değiştirme. */
    fesetround(FE_UPWARD);
    Get_Rounding();
    printf("Değişken değeri: %.2f, Yuvarlanmış değişken değeri: %.2f\n", dd, rint(dd));

    /* Ön tanımlı yuvarlama yöntemini yeniden yükleme. */
    fesetround(curr_method);
    Get_Rounding();

    return 0;
}

void Get_Rounding(void)
{
  char *csonuc;

  switch (fegetround()) {
     case FE_TONEAREST:
          csonuc="FE_TONEAREST";
          break;
     case FE_DOWNWARD:
          csonuc="FE_DOWNWARD";
          break;
     case FE_UPWARD:
          csonuc="FE_UPWARD";
          break;
     case FE_TOWARDZERO:
          csonuc="FE_TOWARDZERO";
          break;
     default:
         csonuc="Bilinmiyor.";
  };

  printf("Aktif yuvarlama yöntemi: %s\n", csonuc);
}

Yukarıdaki örnekte, program aşağıdaki satırları ekrana yazar:

Aktif yuvarlama yöntemi: FE_TONEAREST
Değişken değeri: 7.30, Yuvarlanmış değişken değeri: 7.00
Aktif yuvarlama yöntemi: FE_UPWARD
Değişken değeri: 7.30, Yuvarlanmış değişken değeri: 8.00
Aktif yuvarlama yöntemi: FE_TONEAREST 

Yukarıdaki program, rint() fonksiyonu ile elde edilen işlem sonucunu ekrana yazar.