//方法一
NumberFormat nFormat=NumberFormat.getNumberInstance()
nFormat.setMaximumFractionDigits(2)//设置小数点后面位数为
System.out.println(nFormat.format(3.1415))
方法二
double d = 14.7155
DecimalFormat df0 = new DecimalFormat("###")
DecimalFormat df1 = new DecimalFormat("###.0")
DecimalFormat df2 = new DecimalFormat("###.00")
System.out.println(df0.format(d))
System.out.println(df1.format(d))
System.out.println(df2.format(d))
double test = Math.round(d)
System.out.println(test)
java 3.5802468781999996C 3.5802468781999996 (printf("%.16lf", a+b)
你说不一样,是因为C默认输出6位小数吧。 printf("%lf", a+b)
这个精度是由计算机本身决定的,double类型的精度,在目前机器上的精度范围是15-16位小数之间。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)