用StringBuffer里的insert方法把数组中的数用,分开String[] price = new String[3];
price[0] = "23445.78";
price[1] = "34323445.78";
price[2] = "234323445.78";
然后用,把小数点前面的数从各位起用,每三位分隔开
比如23445.78分割成23,445.78
或者123456789分割成123,456,789.3532
或者12345分割成12,345;
反正能分割成像平时显示的钱数一样就行三位一个逗号
我觉得这个得从小数点的地方往前添加,而不是从前面往后添加逗号,请各位大神帮忙写写这个小程序
最后请大神把数组中的数输出到控制台哈。
price[0] = "23445.78";
price[1] = "34323445.78";
price[2] = "234323445.78";
然后用,把小数点前面的数从各位起用,每三位分隔开
比如23445.78分割成23,445.78
或者123456789分割成123,456,789.3532
或者12345分割成12,345;
反正能分割成像平时显示的钱数一样就行三位一个逗号
我觉得这个得从小数点的地方往前添加,而不是从前面往后添加逗号,请各位大神帮忙写写这个小程序
最后请大神把数组中的数输出到控制台哈。
解决方案 »
- 如何把一个swing开发的项目和数据库文件一起打包成exe文件呢?
- 菜鸟问题,问大家一个简单问题
- 急问???????????????
- PNG图片改色深软件居然要自己来写,我简直晕了,哪位高人给个思路啊
- 极度郁闷:第一次笔试,砸的了。
- 关于重载、覆盖和多态这三个概念重申。
- 通过jdbc连接数据库,查询的记录有多少列(而不是行)?
- 请教一个细节问题,实在是不知其所以然,读过Java核心卷一的朋友看过来!!!!
- 紧急求助:没有网卡的pc,如何安装网络协议
- 有没有真正的高手知道jTable的用法请给个例子好吗?(极高分)
- 关于序列化, unicode和utf编码的问题
- 关于java的wait()的问题
public static void main(String[] args) {
String num = "-1232354234.1254215325";
System.out.println(convert(num));
}
public static String convert(String num) {
if (num == null || !num.matches("\\-?\\d+\\.?\\d+"))
throw new IllegalArgumentException("number is invalid");
int index = num.indexOf(".");
int end = num.startsWith("-") ? 1 : 0;
StringBuilder temp = new StringBuilder(num);
for (int i = (index == -1 ? temp.length() : index) - 3; i > end; i -= 3) {
temp.insert(i, ',');
}
return temp.toString();
}
NumberFormat nf = new DecimalFormat("###,###.##");
String[] price = new String[3];
price[0] = "23445.78";
price[1] = "34323445.78";
price[2] = "234323445.78";
for(String str : price){
System.out.println(nf.format(Double.valueOf(str)));;
}