您的位置:首页 > 其它

数字和字符串的格式化互转

2014-12-31 16:07 148 查看
数字的字符串格式化:

/**
* 数字的格式化
*/
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));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: