怎么把字符串"99999999.9"格式化成#99,999,999.9 怎么把字符串"99999999.9"格式化成#99,999,999.9 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个方法可以 private String parseNumber(String inputStr,String prefix){ String[] strs = inputStr.split("\\."); String intStr = new StringBuffer(strs[0]).toString(); String result = ""; for(int i = 0 ; i < intStr.length() ; i = i + 3){ if(i + 3 >= intStr.length()){ result = result + intStr.substring(i); } else { result = result + intStr.substring(i,i + 3) + ","; } } result = new StringBuffer(result).reverse().toString(); if(strs.length == 2 && strs[1].length() > 0){ result = result + "." + strs[1]; } return prefix + result; }如:public static viod main(String[] args){ System.out.println(test.parseNumber("9999999999","#")); System.out.println(test.parseNumber("999999999999.99","#"));}结果#9,999,999,999#999,999,999,999.99应该有使用Formatter可以直接转换的方法,我不知道,只能使用这个笨方法了 http://www.javaalmanac.com/egs/java.text/FormatNum.html double x = 99999999.9;NumberFormat formatter = NumberFormat.getNumberInstance();formatter.setMinimumIntegerDigits(1);formatter.setMaximumFractionDigits(8);String s = formatter.format(x);System.out.println("#"+s); java.text.DecimalFormat "##,###,###0.0#"new DecimalFormat("");.format(double) yonghar说的对,这个最简单实用 刚取过http://www.javaalmanac.com/egs/java.text/FormatNum.html很好支持 fox_blue(蓝狐) 诚心问一个关于jdk的问题。所以想用它 jFace中Action作为Drop Menu的问题 关于Ant的命令 用java如何以二进制的形式判断一个文件是pdf或word或excel? 我的JDBC问题 JList 问题 StringBuilder的append方法和String+String的区别? 在applet中使用jdbc访问access数据库的问题。急 做项目 JComboBoxs设置值 JAVA在XP中连接数据库 来来来,帮忙介绍点资料。谢谢
private String parseNumber(String inputStr,String prefix){
String[] strs = inputStr.split("\\.");
String intStr = new StringBuffer(strs[0]).toString();
String result = "";
for(int i = 0 ; i < intStr.length() ; i = i + 3){
if(i + 3 >= intStr.length()){
result = result + intStr.substring(i);
} else {
result = result + intStr.substring(i,i + 3) + ",";
}
}
result = new StringBuffer(result).reverse().toString();
if(strs.length == 2 && strs[1].length() > 0){
result = result + "." + strs[1];
}
return prefix + result;
}
如:
public static viod main(String[] args){
System.out.println(test.parseNumber("9999999999","#"));
System.out.println(test.parseNumber("999999999999.99","#"));
}
结果
#9,999,999,999
#999,999,999,999.99
应该有使用Formatter可以直接转换的方法,我不知道,只能使用这个笨方法了
NumberFormat formatter = NumberFormat.getNumberInstance();
formatter.setMinimumIntegerDigits(1);
formatter.setMaximumFractionDigits(8);
String s = formatter.format(x);
System.out.println("#"+s);
"##,###,###0.0#"
new DecimalFormat("");
.format(double)
http://www.javaalmanac.com/egs/java.text/FormatNum.html
很好
支持 fox_blue(蓝狐)