C语言:实现浮点数转整型的四舍五入

该博客介绍了如何实现浮点数四舍五入到整数的算法,通过比较小数部分与0.5的关系,确定是否进位。在正数和负数情况下分别进行了讨论,并给出了C语言实现的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

输入 19.43 输出 19

输入 19.53 输出 20

思路 : 输入一个小数 a, 再定义一个 int 类型 等于a小数点前的整数部分(d)

用 整数加一,和小数加0.5进行比较,若整数+1 大于 小数 +0.5 则说明要四舍,反之五入

比如 输入a 19.43      a+0.5= 19.93            a 19.53                a+0.5=20.03

                d 19            d  +1 =20                  d 19                    d+1   = 20

                四舍,输出19(d)                     五入,输出(d+1)

当是负数时    输入a   -19.43       -19.43-0.5= -19.93                -19.99        -19.99-0.5= -20.49

                             d   -19             -19-1        = -20                     -19             -19-1        =-20          

                    d-1<a-0.5           四舍 ,输出 -19(d)               d-1>a-0.5 五入,输出-20(d-1)

int main()
{
	float a = 0;
	scanf("%f", &a);
	int d = a;
	if (a >= 0)
	{
		if (d + 1 >= a + 0.5)
			printf("%d\n", d);
		else
			printf("%d\n", d + 1);
	}
	else
	{
		if (d - 1 >= a - 0.5)
			printf("%d\n", d - 1);
		else
			printf("%d\n", d);

	}
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值