共用方式為


rint、rintf、rintl

將浮點值四捨五入為最接近的整數,並使用浮點格式。

double rint( double x );
float rint( float x );  // C++ only
long double rint( long double x );  // C++ only
float rintf( float x ); 
long double rintl( long double x ); 

參數

  • x
    要四捨五入的浮點值。

傳回值

rint 函式會傳回表示 x 的最接近整數的浮點值。 和 nearbyint 函式一樣,中間值會根據浮點四捨五入模式的目前設定進行四捨五入。 和 nearbyint 函式不一樣的是,若結果與引數的值不同,rint 函式可能會引發 FE_INEXACT 浮點例外狀況。 不會傳回錯誤。

輸入

SEH 例外狀況

_matherr 例外狀況

± ∞、QNAN、IND

非正規數

EXCEPTION_FLT_UNDERFLOW

備註

因為 C++ 允許多載,所以您可以呼叫採用並傳回 float 和 long double 值的 rint 的多載。 在 C 程式中,rint 會一律採用並傳回 double。

需求

函式

C 標頭

C++ 標頭

rint, rintf, rintl

<math.h>

<cmath>

如需其他相容性資訊,請參閱 相容性

範例

// crt_rint.c
// Build with: cl /W3 /Tc crt_rint.c
// This example displays the rounded results of
// the floating-point values 2.499999, -2.499999, 
// 2.8, -2.8, 2.5 and -2.5.

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

int main( void )
{
   double x = 2.499999;
   float y = 2.8f;
   long double z = 2.5;

   printf("rint(%f) is %.0f\n", x, rint (x));
   printf("rint(%f) is %.0f\n", -x, rint (-x));
   printf("rintf(%f) is %.0f\n", y, rintf(y));
   printf("rintf(%f) is %.0f\n", -y, rintf(-y));
   printf("rintl(%Lf) is %.0Lf\n", z, rintl(z));
   printf("rintl(%Lf) is %.0Lf\n", -z, rintl(-z));
}
  

.NET Framework 對等用法

System::Math::Round

請參閱

參考

浮點支援

ceil、ceilf、ceill

floor、floorf、floorl

fmod、fmodf

lround、lroundf、lroundl、llround、llroundf、llroundl

rint、rintf、rintl

其他資源

lrint、lrintf、lrintl、llrint、llrintf、llrintl

nearbyint、nearbyintf、nearbyintl