#include <iostream>
using namespace std;
int main() {
double d;
cin >> d;
int a=d;
if(d+0.5>=a+1) cout<<a+1;
else cout<<a;
//或者用四舍五入公式 a=(int)(d+0.5);cout<<a;
return 0;
}
2.那我们如何实现将3.1415这种浮点数进行四舍五入呢? 比如现在要求我们保留三位小数输出。
这里我们采用的方法是:先将3.1415扩大1000倍,变成3141.5,进行四舍五入后,变成3142,再缩小1000倍变成3.142。 请看代码:
#include <stdio.h>
int main()
{
float num = 3.1415;
num = (int)(num * 1000 + 0.5) / 1000.0;
printf("%.3f", num);
}
程序运行结果:
1
2
3
4
5
6
7
其中特别注意的是num = (int)(num * 1000 + 0.5) / 1000.0;这里是除以1000.0,只有浮点数运算,才能使结果为浮点数。
————————————————
版权声明:本文为优快云博主「ZHA_123」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/m0_72482689/article/details/125997219
或者使用库函数round()返回一个整型值