两个整数相除会自动省略小数点后的小数位即使下面这种:
int a,int b;
int a = 4;
int b = 3;
double d = a/b;
d= 1.0000000;
---------------------------
整数除法用 “/”的话得到的是一个整数(得到小数的话自动去掉小数位只保留整数位),
所以这里要得到实际除出来的数的话,先将两个数转化为double类型,再进行“/”除法。
至于要规定输出保留多少位小数,则用cout<<setprecision(2)<<fixed<<……;其中2表示保留多少位小数(2表示两位)。同时要注意seprecision函数的使用要搭配<iomanip>头文件。关于<iomanip>头文件:
这个头文件是声明一些 “流操作符”的,
比较常用的有:
setw(int);//设置显示宽度。
left//right//设置左右对齐。
setprecision(int);//设置浮点数的精确度。
---------------------
参考:
原文:https://blog.csdn.net/lv_victor/article/details/50087983