简单使用:把浮点数四舍五入到整数
round函数定义在<math.h>头文件中,其原型为double round(double x);
round函数用于将浮点数四舍五入到最接近的整数
以下的C语言代码用round函数计算了不同浮点数的四舍五入值,并将结果打印出来
#include <stdio.h>
#include <math.h>
int main()
{
double numbers[] = {3.14, -3.14, 3.5, -3.5, 2.718, -2.718, 0.0};
double result;
for(int i = 0; i < 7; i++)
{
result = round(numbers[i]);
printf("round(%.3f) = %.3f\n", numbers[i], result);
}
return 0;
}
输出结果为:
round(3.140) = 3.000
round(-3.140) = -3.000
round(3.500) = 4.000
round(-3.500) = -4.000
round(2.718) = 3.000
round(-2.718) = -3.000
round(0.000) = 0.000
例子中展示了round函数如何处理正数、负数和零的情况,以及当小数部分正好为0.5时的四舍五入规则
进阶使用:把浮点数四舍五入到两位小数
可以把传递的参数*100,然后返回值在/100,就可以四舍五入到两位小数了
#include <stdio.h>
#include <math.h>
int main()
{
double numbers[] = {2.134,2.135,2.136,2.144,2.145,2.146};
double result;
for(int i = 0; i < 6; i++)
{
result = round(numbers[i] * 100) / 100;
printf("round(%.3f) = %.3f\n", numbers[i], result);
}
return 0;
}
输出结果为:
round(2.134) = 2.130
round(2.135) = 2.130
round(2.136) = 2.140
round(2.144) = 2.140
round(2.145) = 2.150
round(2.146) = 2.150
大家是不是会发现一个问题,2.135的千分位是5啊,为什么没有进一,反而舍去了呢,答案来了其实round函数的规则四舍六入五成双,不是简单的四舍五入
四舍六入五成双
四舍六入五成双是一种比较科学的计数保留方法,具体的保留方法为:
1.小于等于4的舍去
2.大于等于6的进一
3.等于5的话要看后面有没有有效数字,有的话进一,没有的话要按照5前面数字的奇偶来处理,若5前面为奇数则进一,若5前面为偶数则舍5不进。
标签:四舍五入,numbers,double,浮点数,C语言,result,round,库函数 From: https://blog.csdn.net/vbnetcx/article/details/142911726