nearbyintf - [ C 语言中文开发手册 ] - 在线本地手册 - php中文网
在头文件<math.h>中定义 |
||
---|---|---|
float nearbyintf( float arg ); |
(1) |
(since C99) |
double nearbyint( double arg ); |
(2) |
(since C99) |
long double nearbyintl( long double arg ); |
(3) |
(since C99) |
Defined in header <tgmath.h> |
||
#define nearbyint( arg ) |
(4) |
(since C99) |
1-3)arg
使用当前舍入模式将浮点参数四舍五入为浮点格式的整数值。
4)类型 - 通用宏:如果arg
有类型long double
,nearbyintl
被调用。否则,如果arg
有整数类型或类型double
,nearbyint
则调用。否则nearbyintf
,分别称为。
参数
arg |
- |
浮点值 |
---|
返回值
arg
根据当前舍入模式,返回最接近的整数值。
错误处理
此函数不受math_errhandling中指定的任何错误的影响。
如果实现支持IEEE浮点运算(IEC 60559),
FE_INEXACT
从未被提出如果
arg
是±∞,则返回,未修改如果
arg
为±0,则返回,未修改如果
arg
是NaN,则返回NaN
笔记
之间唯一的区别nearbyint
和rint
是nearbyint
永远不会提高FE_INEXACT
。
最大的可表示浮点值是所有标准浮点格式中的精确整数,因此nearbyint
不会自行溢出; 但是intmax_t
,当存储在整数变量中时,结果可能会溢出任何整数类型(包括)。
如果当前的舍入模式是FE_TONEAREST
,这个函数甚至在一半的情况下(例如rint
,但不像round
)。
例
#include <stdio.h>#include <math.h>#include <fenv.h> int main(void){#pragma STDC FENV_ACCESS ON fesetround(FE_TONEAREST); printf("rounding to nearest:\nnearbyint(+2.3) = %+.1f ", nearbyint(2.3)); printf("nearbyint(+2.5) = %+.1f ", nearbyint(2.5)); printf("nearbyint(+3.5) = %+.1f\n", nearbyint(3.5)); printf("nearbyint(-2.3) = %+.1f ", nearbyint(-2.3)); printf("nearbyint(-2.5) = %+.1f ", nearbyint(-2.5)); printf("nearbyint(-3.5) = %+.1f\n", nearbyint(-3.5)); fesetround(FE_DOWNWARD); printf("rounding down: \nnearbyint(+2.3) = %+.1f ", nearbyint(2.3)); printf("nearbyint(+2.5) = %+.1f ", nearbyint(2.5)); printf("nearbyint(+3.5) = %+.1f\n", nearbyint(3.5)); printf("nearbyint(-2.3) = %+.1f ", nearbyint(-2.3)); printf("nearbyint(-2.5) = %+.1f ", nearbyint(-2.5)); printf("nearbyint(-3.5) = %+.1f\n", nearbyint(-3.5)); printf("nearbyint(-0.0) = %+.1f\n", nearbyint(-0.0)); printf("nearbyint(-Inf) = %+.1f\n", nearbyint(-INFINITY));}
输出:
rounding to nearest:nearbyint(+2.3) = +2.0 nearbyint(+2.5) = +2.0 nearbyint(+3.5) = +4.0nearbyint(-2.3) = -2.0 nearbyint(-2.5) = -2.0 nearbyint(-3.5) = -4.0rounding down: nearbyint(+2.3) = +2.0 nearbyint(+2.5) = +2.0 nearbyint(+3.5) = +3.0nearbyint(-2.3) = -3.0 nearbyint(-2.5) = -3.0 nearbyint(-3.5) = -4.0nearbyint(-0.0) = -0.0nearbyint(-Inf) = -inf
参考
C11标准(ISO / IEC 9899:2011):
7.12.9.3附近的功能(p:251-252)
7.25类型通用数学<tgmath.h>(p:373-375)
F.10.6.3附近的函数(p:526)
C99标准(ISO / IEC 9899:1999):
7.12.9.3附近的函数(p:232)
7.22类型通用数学<tgmath.h>(p:335-337)
F.9.6.3 nearbyint函数(p:463)
推荐阅读
-
-webkit-text-fill-color - [ CSS 4.2.4 参考手册 ] - 本地在线手册 - php中文网
-
input type="tel" - [ HTML 中文开发手册 ] - 本地在线手册 - php中文网
-
EditPlus 简介 - [ EditPlus 在线手册 ] - 在线本地手册 - php中文网
-
替代运算符和标记 - [ C 语言中文开发手册 ] - 本地在线手册 - php中文网
-
cargf - [ C 语言中文开发手册 ] - 在线原生手册 - php中文网
-
slaveof - [ Redis 中文开发手册 ] - 本地在线手册 - php中文网
-
zadd - [ Redis 中文开发手册 ] - 本地在线手册 - php中文网
-
JScript 中的操作符 - [ JavaScript 参考手册 ] - 本地在线手册 - php中文网
-
JScript 运行时错误 - [ JavaScript 参考手册 ] - 本地在线手册 - php中文网
-
Microsoft JScript 功能 - ECMA - [ JavaScript 参考手册 ] - 本地在线手册 - php中文网