保留N位小数,下面以保留两位小数为例:

方案一:

public static String formatNumber(double number){

String result = "";

try {

DecimalFormat decimalFormat =new DecimalFormat("0.00");//构造方法的字符格式这里如果小数不足2位,会以0补足.

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){

//正则表达

number = number.replaceAll("0+?$", "");//去掉后面无用的零

number = number.replaceAll("[.]$", "");//如小数点后面全是零则去掉小数点

}

if(number.indexOf(".") > 0){

BigDecimal b = new BigDecimal(number);

return String.valueOf(b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());

}else{

return number;

}

}

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐