次の方法で共有


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

none

none

非正規化数

EXCEPTION_FLT_UNDERFLOW

none

解説

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