关于四舍五入

简介:

用 int 的强制转换是直接取下面一个整数,不论是不是 四舍五入。。。

自己写了一个round四舍五入模板:


四舍五入代码模板:

#include <stdio.h>

int round(double a)
{
	if(a-(int)(a)>=0.5)
		return (int)(a)+1;
	
	else
		return (int)(a);
}

int main()
{
	double a;
	int result;
	
	while(scanf("%lf",&a)!=EOF)
	{
		result=round(a);
		printf("after round:%d\n",result);
	}
	
	return 0;
}


运行结果为:



测试代码之一:

#include <stdio.h>

int main()
{
	printf("5 * 1.5 = %d\n",(int)(5*1.5));
	printf("4 * 2.1 = %d\n",(int)(4*2.1));
	
	return 0;
}

运行结果是:

7

8

这说明:

(int)强转只能取下一个整数。。。7.5取7;8.4也只取8


测试代码之二:

#include <stdio.h>

int main()
{
	double a=2.5;
	printf("%d\n",(int)(a*4));

	if((a*4)==10)
		printf("YES\n");

	else
		printf("NO\n");
	
	return 0;
}

运行结果是:

10

YES

这说明:

double 型可以和 int 型比较,10.0 == 10    //OK



相关文章
|
4月前
round() 函数:对一个数进行四舍五入
round() 函数:对一个数进行四舍五入
82 0
BigDecimal如何相除并保留小数后两位(多种方法比较可选)
BigDecimal如何相除并保留小数后两位(多种方法比较可选)
109 0
|
JavaScript 前端开发
toFixed四舍五入出现的问题
toFixed四舍五入出现的问题
287 0
toFixed四舍五入出现的问题
06:浮点数向零舍入
06:浮点数向零舍入
202 0
真正的四舍五入
真正的四舍五入
|
Java
小数的运算使用BigDecimal
小数的运算使用BigDecimal
113 0
小数的运算使用BigDecimal
|
NoSQL BI MongoDB
从“四舍五入”到“奇进偶舍”
处理取整时,大概下意识的想到的方法,都是“四舍五入”吧?不过我们可以先看两个例子,在Python 3中,round(4.5) == 4,而在mongodb 以上的版本中,{$round: 4.5}的结果也是4。
1800 0