将double型数字保留几位小数(这个方法是抄的啦)
Double d = 10000.0 / 333;
String s = new DecimalFormat("#.###").format(d);
关于 C++ 输出时的小数点后的位数是很基础的东西,应该掌握。
double a = 3.141592,
b = 2213242.329843;
cout.precision(6);
cout << a << endl << b;
cout.precision(6);
cout << a << endl << b;
输出的是:
3.14159
221324
上面输出的是“6个有效数字”,而想要输出 3.141592 和 2213242.329843 的数字,不管小数点前面有几位,那就要:
double a = 3.141592,
b = 2213242.329843;
cout.setf(ios::showpoint); //设置为始终输出小数点后的数字,就是说 a = 3,它也输出 3.00000 这样
cout.precision(6);
cout.setf(ios::fixed); //设置为小数位始终有 6 位,没有这个的话就会像上面那个代码那样固定的不是小数点后面的数字了。
cout << a << endl << b;
cout.setf(ios::showpoint); //设置为始终输出小数点后的数字,就是说 a = 3,它也输出 3.00000 这样
cout.precision(6);
cout.setf(ios::fixed); //设置为小数位始终有 6 位,没有这个的话就会像上面那个代码那样固定的不是小数点后面的数字了。
cout << a << endl << b;
输出就是:
3.141592
2213242.329843
比如pi=3.14159265333,保留三位小数:
cout<<fixed<<setprecision(3);
cout<<pi<<endl;
备注:必须加头文件iomanip,忘记这个,你就等着吧。