Android数字格式化
2020-11-19 本文已影响0人
码小趣
保留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;
}
}