数字的字符串格式化:
/**
* 数字的格式化
*/
public static String formatDecimal(double data){
String str_data = "";
if(data >= 1000){
DecimalFormat df = new DecimalFormat();
df.applyPattern("0,000.00# 元");
str_data = df.format(data);
}else{
str_data = data + "元";
}
return str_data;
}
@SuppressLint("NewApi")
public static String formatDecimal(String str_data){
BigDecimal b = new BigDecimal(str_data);
//,代表分隔符
//.后面的##代表位数 如果换成0 效果就是位数不足0补齐
DecimalFormat d1 =new DecimalFormat("#,##0.######");
// 设置舍入模式
d1.setRoundingMode(RoundingMode.FLOOR);
return d1.format(b);
}
格式化数字转化为double:
public static double parsedouble(String format){
if(format.contains(",")){
StringBuilder sb = new StringBuilder();
String[] arrays = format.split(",");
for (String str : arrays) {
sb.append(str);
}
return Double.valueOf(sb.toString());
}
return Double.valueOf(format);
}
保留指定位数能进行四舍五入
public static void main(String[] args) {
String str ="12312323423423.123283123";
BigDecimal b = new BigDecimal(str);
//,代表分隔符
//0.后面的##代表位数 如果换成0 效果就是位数不足0补齐
DecimalFormat d1 =new DecimalFormat("#,##0.####;(#)");
System.out.println(d1.format(b));
}
不四舍五入的方法
String str ="12312323423423.123283923";
BigDecimal b = new BigDecimal(str);
//,代表分隔符
//.后面的##代表位数 如果换成0 效果就是位数不足0补齐
DecimalFormat d1 =new DecimalFormat("#,##0.######");
// 设置舍入模式
d1.setRoundingMode(RoundingMode.FLOOR);
System.out.println(d1.format(b));