trunc, truncf, truncl

指定した浮動小数点以下に最も近い整数を指定します。

構文

double trunc( double x );
long double truncl( long double x );
#define trunc(X) // Requires C11 or higher

long double trunc( long double x ); //C++ only
float trunc( float x ); //C++ only

パラメーター

x
切り捨てる値。

戻り値

成功した場合、関数は 0 に丸められた整数値を x返します。

それ以外の場合、関数は次のいずれかの値を返します。

問題 Return
x = ±INFINITY x
x = ±0 x
x = NaN NaN

エラーは次で指定したとおりに _matherr報告されます。

解説

C++ ではオーバーロードが可能であるため、trunc 型および float 型を受け取って返す long double のオーバーロードを呼び出すことができます。 C プログラムでは、tgmath.h マクロを<使用してこの関数を呼び出していない限り、trunc常に double.>

<tgmath.h>trunc() マクロを使用する場合は、引数の型によって、この関数のどのバージョンが選択されるかが決定されます。 詳細については、「ジェネリック型数値演算」を参照してください。

最大の浮動小数点値は正確な整数であるため、この関数自体はオーバーフローしません。 ただし、整数型に値を返すことによって、関数のオーバーフローが発生する場合があります。

浮動小数点から整数に暗黙的に変換することで切り捨てることもできますが、これは対象の型に格納できる値に限ります。

必要条件

機能 C ヘッダー C++ ヘッダー
trunc, truncf, truncl <math.h> <cmath>
trunc マクロ <tgmath.h>

互換性の詳細については、「 Compatibility」を参照してください。

関連項目

アルファベット順関数リファレンス
floor, floorf, floorl
ceil, ceilf, ceill
round, roundf, roundl