©
Ce document utiliseManuel du site Web PHP chinoisLibérer
在头文件 |
|
|
---|---|---|
float truncf(float arg); |
(1) |
(自C99以来) |
double trunc(double arg); |
(2) |
(自C99以来) |
long double truncl(long double arg); |
(3) |
(自C99以来) |
在头文件 |
|
|
#define trunc(arg) |
(4) |
(自C99以来) |
1-3)计算量值不大于arg的最近整数。
4)类型 - 泛型宏:如果arg的类型为long double,则调用truncl。 否则,如果arg具有整数类型或double类型,则调用trunc。 否则,truncf被调用。
ARG |
- |
浮点值 |
---|
如果没有发生错误,则返回量值不大于arg的最接近的整数值(换句话说,arg舍入为零)。
返回值
讨论
按照math_errhandling中的指定报告错误。
如果实现支持IEEE浮点运算(IEC 60559),
当前的舍入模式不起作用。
如果arg
是±∞,则返回,未修改
如果arg
为±0,则返回,未修改
如果arg是NaN,则返回NaN
FE_INEXACT
在截断非整数有限值时可能(但不是必须))。
最大的可表示浮点值是所有标准浮点格式中的精确整数,因此该函数不会自行溢出; 但是当存储在整型变量中时,结果可能会溢出任何整数类型(包括intmax_t)。
从浮点型到整型类型的隐式转换也向零舍入,但仅限于可由目标类型表示的值。
#include#include int main(void){ printf("trunc(+2.7) = %+.1f\n", trunc(2.7)); printf("trunc(-2.7) = %+.1f\n", trunc(-2.7)); printf("trunc(-0.0) = %+.1f\n", trunc(-0.0)); printf("trunc(-Inf) = %+f\n", trunc(-INFINITY));}
可能的输出:
trunc(+2.7) = +2.0trunc(-2.7) = -2.0trunc(-0.0) = -0.0trunc(-Inf) = -inf
C11标准(ISO / IEC 9899:2011):
7.12.9.8截断函数(p:253-254)
7.25类型通用数学
F.10.6.8截断函数(p:528)
C99标准(ISO / IEC 9899:1999):
7.12.9.8截断函数(p:234)
7.22类型通用数学
F.9.6.8 trunc函数(p:464)
floorfloorphloorl(C99)(C99) |
计算不大于给定值的最大整数(函数) |
---|---|
ceilceilfceill(C99)(C99) |
计算不小于给定值的最小整数(函数) |
roundlroundllround(C99)(C99)(C99) |
舍入到最接近的整数,在中途情况下从零开始舍去(函数) |
| trunc的C ++文档 |