保留N位小數(shù),下面以保留兩位小數(shù)為例:
方案一:
public static String formatNumber(double number){
String result = "";
try {
DecimalFormat decimalFormat =new DecimalFormat("0.00");//構(gòu)造方法的字符格式這里如果小數(shù)不足2位,會(huì)以0補(bǔ)足.
result = decimalFormat.format(number);//format 返回的是四舍五入后的字符串
} catch (Exception e){
LogHelper.printStackTrace(e);
}
return result;
}
方案二:
public static String formatNumber(String number) {
if(number == null){
return "";
}
if(number.indexOf(".") > 0){
//正則表達(dá)
number = number.replaceAll("0+?$", "");//去掉后面無(wú)用的零
number = number.replaceAll("[.]$", "");//如小數(shù)點(diǎn)后面全是零則去掉小數(shù)點(diǎn)
}
if(number.indexOf(".") > 0){
BigDecimal b = new BigDecimal(number);
return String.valueOf(b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
}else{
return number;
}
}