.- .
确定小于或等于指定浮点值的最接近的整数。
语法
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
要截断的值。
返回值
如果成功,则函数返回向零舍入的 x
整数值。
否则,这些函数可能会返回以下值之一:
问题 | 返回值 |
---|---|
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++ 标头 |
---|---|---|
.- . | <math.h> | <cmath> |
trunc 宏 |
<tgmath.h> |
有关兼容性的详细信息,请参阅 兼容性。
另请参阅
按字母顺序显示的函数参考
.- .
.- .
.- .