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)

主要有下面几个区别,手册上的,希望能帮到你

1、变量类型不同

float属于单精度型浮点数据。

double属于双精度型浮点数据。

2、指数范围不同

float的指数范围为-127~128。

double而double的指数范围为-1023~1024

3、表达式指数位不同

float的表达式为1bit(符号位)+8bits(指数位)+23bits(尾数位)

double的表达式为1bit(符号位)+ 11bits(指数位)+ 52bits(尾数位)

4、占用内存空间不同

float占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38。

double占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308。

5、有效位数不同

float只能提供七位有效数字。

double可提供16位有效数字。


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

原文地址: http://outofmemory.cn/tougao/11080037.html

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

发表评论

登录后才能评论

评论列表(0条)

保存