C++实现
单纯setprecision(n)只能够控制总的小数点位数(包括小数和整数部分所有位数)。
setprecision(n)
控制小数点后位数有以下方法:
//第一种
cout<<setiosflags(ios::fixed)<<setprecision(2);
//第二种
cout.setf(ios::fixed);
cout<<setprecision(2);
//第三种
cout<<fixed<<setprecision(2);
Python实现:
# 第一种
res=1.0;
res="%.8f"%res
# 输出10.00000000
# 第二种,使用round函数,但是这种方法,当位数不足时不会补0
res=round(res,8)
C语言实现:
printf("%.8f\n",res);//针对double类型也一样,把f改为d即可
Java实现:
//第一种和C语言类似
System.out.printf("%.8f",res);
//第二种
DecimalFormat a = new DecimalFormat("000.000");
System.out.println(a.format(12.34));
//结果为:012.340(就是两端补0)
//第三种(String类的方式)
String.format("%.8f",res);