近来做一道题,要求小数点保留两位(即第3位四舍五入)。
之前知道如果要求整数四舍五入可以这样写:
double x = 3.486876;
int m = (int)(x+0.5);//m就是四舍五入后的结果
//当然也可以借助round()函数,
,如下
#include<math.h>
int m = round(x);
//当然也可以借助floor函数
#include<math.h>
int m = floor(x+0.5);
可是现在要求四舍五入小数点第3位;-------其实借助以上思想,可以先扩大100四舍五入取整后再除100,即可。以下
double x = 3.836767;
double m = ((int)(x*100+0.5))/100.0;//同理m就是四舍五入后的值
显然,要保留几位就乘以10的几次方,再除掉即可(注意除数要用浮点数)