问题 1.用java程序输入标准的金额数字,每三位用逗号隔开,如1,222,343,566.00。解析该数字用xx亿xxx万xxx元输出。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 package outputmoney;import java.util.regex.Pattern;/** * @author Yanhua.Chen * @time 2012-8-28 */public class Output { public static void main(String args[]) { String str = "89,311,222,222.00"; //标准的金额数字 // 去掉逗号和空格 Pattern p = Pattern.compile("[, ]"); String[] strs = p.split(str); StringBuffer sb = new StringBuffer(); for (int i = 0; i < strs.length; i++) { sb.append(strs[i]); } str = sb.toString(); String str1 = str.substring(0, str.length() - 3); //去掉小数点后面的数 int l = str1.length(); String[] ans; if (l % 4 == 0) ans = new String[l / 4]; else ans = new String[l / 4 + 1]; for (int i = 0; i < ans.length; i++) { ans[i] = str1.substring(Math.max(0, l - 4 * i - 4), l - 4 * i); } sb = new StringBuffer(); for (int i = ans.length - 1; i >= 0; i--) { switch (i) { case 0: sb.append(ans[i] + "元"); break; case 1: sb.append(ans[i] + "万"); break; case 2: sb.append(ans[i] + "亿"); break; case 3: sb.append(ans[i] + "兆"); break; } } System.out.println(sb.toString()); }} 通过正则表达式取得一个String型数组,在由后往前重组并在循环在相应位置加入相应汉字 递归问题 请问这题JAVA怎么做出来 读取文件出现间断性乱码? 高手求助 如何用流的方式把图片变成二进制数据 关于 用尽的ResultSet的问题 java怎么调用外部的ppt文件?如果想将ppt内嵌到内容面板上怎么解决? 【系列】每个初学者都应该搞懂的问题 请教,在jbuilder中的两个窗口的关闭问题?谢谢 synchronized作用范围是什么? 请教网上书店系统的设计思想和例子。 samba的安装 请高手帮忙--jsp与mysql数据库连接配置问题
* @author Yanhua.Chen
* @time 2012-8-28
*/
public class Output {
public static void main(String args[]) {
String str = "89,311,222,222.00"; //标准的金额数字
// 去掉逗号和空格
Pattern p = Pattern.compile("[, ]");
String[] strs = p.split(str);
StringBuffer sb = new StringBuffer();
for (int i = 0; i < strs.length; i++) {
sb.append(strs[i]);
}
str = sb.toString();
String str1 = str.substring(0, str.length() - 3); //去掉小数点后面的数
int l = str1.length();
String[] ans;
if (l % 4 == 0)
ans = new String[l / 4];
else
ans = new String[l / 4 + 1];
for (int i = 0; i < ans.length; i++) {
ans[i] = str1.substring(Math.max(0, l - 4 * i - 4), l - 4 * i);
}
sb = new StringBuffer();
for (int i = ans.length - 1; i >= 0; i--) {
switch (i) {
case 0:
sb.append(ans[i] + "元");
break;
case 1:
sb.append(ans[i] + "万");
break;
case 2:
sb.append(ans[i] + "亿");
break;
case 3:
sb.append(ans[i] + "兆");
break;
}
}
System.out.println(sb.toString());
}
}