c语言round 函数怎么用??

Python014

c语言round 函数怎么用??,第1张

C++中没有直接的round函数,需要自己建立,可以参考以下的代码:

double round(double val)

{

return (val> 0.0) ? floor(val+ 0.5) : ceil(val- 0.5)

}

C语言中round函数的作用:四舍五入到最邻近的整数。

扩展资料:

round函数的详细介绍

在 VB,VBScript,C#,J#,T-SQL 中 Round 函数都是采用 Banker's rounding(银行家舍入)算法,即四舍六入五取偶。事实上这也是 IEEE 规定的舍入标准。因此所有符合 IEEE 标准的语言都应该是采用这一算法的。

为了避免四舍五入规则造成的结果偏高,误差偏大的现象出现,一般采用四舍六入五留双规则(Banker's Rounding)。

准确而言,四舍六入五留双应称作“四舍六入,逢五无后则留双”,如此就可以完全覆盖此规则的详情。

参考资料来源:百度百科-round (函数)

我先问一下你是linux下编程吗,如果是的话,直接:man

round就可以查看函数的头文件和用法了

printf("%f\n%f",Round(-1.5),Round(1.5))

//不是Round,而是round。大小写的问题!

方法一:

#include<stdio.h>

int main()

{

  double d1,d2,d3

  d1=-3.1415926

  d2=(int)(d1*10+0.5)*0.1

  printf("d1=%f,保留一位小数的结果为:%.1f\n",d1,d2)

  d3=(int)(d1*1000+0.5)*0.001

  printf("d1=%f,保留三位小数的结果为:%.3f",d1,d3)

总结四舍五入保留n为小数

(int)(x*10的n次方+0.5)*10的负n次方;

其次这个方法对负数无效;如果非要用可以先取正数部分算,最后加上负号

}

方法二:

使用round()函数。

#include"stdio.h"

#include"math.h"

void main()

{

float x

scanf("%f",&x)

int y = round(x)

printf("%d",y)

}

扩展资料:

C语言编写注意事项:

1、%运算符不能应用与float或double类型。

2、char类型转换为int型时, 无法判断它是signed还是unsigned.这样其结果有可能为负数, 因此转换时尽量指定signed和unsigned限制符。

3、++i与i++不同之处: ++i是先+1在使用, i++是先使用i在递加1。

4、三元运算符"?:" 第一个表达式的括号不是必须的,但是由于三元表达式的优先级非常低,我们还是将第一个表达式用()括起便于阅读和理解。

5、C语言中可以使用递归 (即函数调用自身函数), 其不节省储存器开销也不加快执行速度, 只是使程序紧凑便于理解。