java中double型如何控制有效数字输出位数或精度?

java中double型如何控制有效数字输出位数或精度?,第1张

//方法

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.5802468781999996

C 3.5802468781999996 (printf("%.16lf", a+b)

你说不一样,是因为C默认输出6位小数吧。 printf("%lf", a+b)

这个精度是由计算机本身决定的,double类型的精度,在目前机器上的精度范围是15-16位小数之间。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11059826.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存