//方法一
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属于双精度型浮点数据。
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位有效数字。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)