正确的方式:
DecimalFormat mf = new DecimalFormat();
mf.applyPattern("#,##0.00");
System.out.println(mf.format(0.66));
这样可以处理小于1的金额。
之前在网上看了很多金额的格式化方式,基本有两种。
1.全代码模式,自己写出分割逻辑,网上很多,这里就不说明了。
2.同样是使用DecimalFormat类进行处理,但是在设置模板时,在网上找到的,千篇一律,如下:
public static String formatTosepara(float data) {
DecimalFormat df = new DecimalFormat("#,###.00");
return df.format(data);
}
这种处理方式在处理1以下的金额会有丢“0”的问题出现。如金额为0.55,格式化之后的金额为“.55”,这很明显不符合我们的需要。
经过查询资料,总结出正确的格式化方式,希望对大家有所帮组。