importjava.text.DecimalFormat;
DecimalFormatdf=newDecimalFormat("######0.00");
doubled1=3.23456
doubled2=0.0;
doubled3=2.0;
df.format(d1);
df.format(d2);
df.format(d3);
3个结果分别为:
复制代码代码如下:
3.23
0.00
2.00
java保留两位小数问题:
方式一:
四舍五入
复制代码代码如下:
doublef=111231.5585;
BigDecimalb=newBigDecimal(f);
doublef1=b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
保留两位小数
方式二:
复制代码代码如下:
java.text.DecimalFormatdf=newjava.text.DecimalFormat("#.00");
df.format(你要格式化的数字);
例:
复制代码代码如下:
newjava.text.DecimalFormat("#.00").format(3.1415926)
#.00表示两位小数#.0000四位小数以此类推...
方式三:
复制代码代码如下:
doubled=3.1415926;
Stringresult=String.format("%.2f");
%.2f%.表示小数点前任意位数2表示两位小数格式后的结果为f表示浮点型
方式四:
复制代码代码如下:
NumberFormatddf1=NumberFormat.getNumberInstance();
voidsetMaximumFractionDigits(intdigits)
digits显示的数字位数
为格式化对象设定小数点后的显示的最多位,显示的最后位是舍入的
复制代码代码如下:
importjava.text.*;
importjava.math.*;
classTT
{
publicstaticvoidmain(Stringargs[])
{doublex=23.5455;
NumberFormatddf1=NumberFormat.getNumberInstance();
ddf1.setMaximumFractionDigits(2);
Strings=ddf1.format(x);
System.out.print(s);
}
}
复制代码代码如下:
importjava.text.*;
DecimalFormatdf=newDecimalFormat(".##");
doubled=1252.2563;
Stringst=df.format(d);
System.out.println(st);