次の方法で共有


trunctruncftruncl

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

構文

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++ ヘッダー
trunctruncftruncl <math.h> <cmath>
trunc マクロ <tgmath.h>

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

関連項目

関数リファレンス (アルファベット順)
floorfloorffloorl
ceilceilfceill
roundroundfroundl