语法

#include <math.h>

double round(double x);
float roundf(float x);
long double roundl(long double x);

与-lm链接。

glibc的功能测试宏要求(请参阅feature_test_macros(7)):

round(),roundf(),roundl():

_ISOC99_SOURCE || _POSIX_C_SOURCE>= 200112L

返回值

这些函数返回舍入的整数值。

如果x为整数,+ 0,-0,NaN或无穷大,则返回x本身。

遵循规范

C99,POSIX.1-2001,POSIX.1-2008。

另外参见

ceil(3),floor(3),lround(3),neighborint(3),rint(3),trunc(3)

名称

round,roundf,roundl-舍入到最接近的整数,远离零

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
round(),roundf(),roundl()Thread safetyMT-Safe

错误说明

没有错误发生。 POSIX.1-2001记录了溢出的范围错误,但请参阅注意。

备注

POSIX.1-2001包含有关溢出的文本(这可能会将errno设置为ERANGE,或引发FE_OVERFLOW异常)。在实践中,结果不会在任何当前计算机上溢出,因此这种错误处理内容只是胡说八道。 (更确切地说,仅当指数的最大值小于尾数位数时,才可能发生溢出。对于IEEE-754标准的32位和64位浮点数,指数的最大值为128(分别为1024)和尾数位数为24(分别为53)。

如果要将舍入后的值存储为整数类型,则可能要使用lround(3)中描述的函数之一。

版本

这些功能首先出现在2.1版的glibc中。

ROUND - Linux手册页

Linux程序员手册 第3部分
更新日期: 2017-09-15

说明

这些函数将x舍入到最接近的整数,但是将中途情况舍入为零(无论当前舍入方向如何,请参见fenv(3)),而不是舍入到最接近的偶数整数,如rint(3)。

例如,round(0.5)为1.0,round(-0.5)为-1.0。

日期:2019-08-20 18:01:12 来源:oir作者:oir