需要使用setprecision方法。
使用setprecision(n)可控制输出流显示浮点数的数字个数。C++默认的流输出数值有效位是6。如果setprecision(n)与setiosflags(ios::fixed)合用,可以控制小数点右边的数字个数。setiosflags(ios::fixed)是用定点方式表示实数。 如果与setiosnags(ios::scientific)合用, 可以控制指数表示法的小数位数。setiosflags(ios::scientific)是用指数方式表示实数。
例程(下面的代码分别用浮点、定点和指数方式表示一个实数):
#include
#include//要用到格式控制符
void main()
{
double amount = 22.0/7;
cout <cout < < < < < cout < cout < cout < < cout < }
加上头文件include
setprecision(n)函数控制位数
n表示整数和小数的位数
3.14556565256
如果n=3
则输出3.14
不可能实现,因为计算机是把数据看成二进制形式的,比如123.56,计算机中实际存储的数据是近似于123.559998,你又说事先不知道小数位数,难道你就指望计算机能知道.
我可以帮助你,你先设置我最佳答案后,我百度Hii教你。
不可能实现,因为计算机是把数据看成二进制形式的,比如123.56,计算机中实际存储的数据是近似于123.559998,你又说事先不知道小数位数,难道你就指望计算机能知道.
#include
int main()
{
float l=3.1415926;
printf("%.3f----------\n",l);//输出3.142,%.nf,输出n位小数,四舍五入截去
return 0;
}