实现方法是将原小数乘1000,即将其后三位小数部分化成整数,且利用整型保存数据会直接舍弃小数部分的特性,即int型temp=num*1000。接下来就可以利用取余操作很方便得到第三位小数的值,进行大小判别,大于5就将temp/10+1就可以实现四舍五入。再将temp转化回小数即完成操作。
#include <stdio.h>
float keep_two_decimal(float num){
int temp=num*1000; //应用整型计算会直接舍弃小数部分
if(temp%10>=5) //四舍五入
temp=temp/10+1;
else temp=temp/10;
num=(float)temp/100; //转化成原小数形式
return num;
}
int main(){
float num;
printf("请输入小数:");
scanf("%f",&num);
num= keep_two_decimal(num);
printf("四舍五入后小数为:%f",num);
return 0;
}
运行结果: