问题 1.用java程序输入标准的金额数字,每三位用逗号隔开,如1,222,343,566.00。解析该数字用xx亿xxx万xxx元输出。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 人民币小写转大写?public String toRMB(double money) { char[] s1 = {'零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'}; char[] s4 = {'分', '角', '元', '拾', '佰', '仟', '万', '拾', '佰', '仟', '亿', '拾', '佰', '仟', '万'}; String str = String.valueOf(Math.round(money * 100 + 0.00001)); String result = ""; for (int i = 0; i < str.length(); i++) { int n = str.charAt(str.length() - 1 - i) - '0'; result = s1[n] + "" + s4[i] + result; } result = result.replaceAll("零仟", "零"); result = result.replaceAll("零佰", "零"); result = result.replaceAll("零拾", "零"); result = result.replaceAll("零亿", "亿"); result = result.replaceAll("零万", "万"); result = result.replaceAll("零元", "元"); result = result.replaceAll("零角", "零"); result = result.replaceAll("零分", "零"); result = result.replaceAll("零零", "零"); result = result.replaceAll("零亿", "亿"); result = result.replaceAll("零零", "零"); result = result.replaceAll("零万", "万"); result = result.replaceAll("零零", "零"); result = result.replaceAll("零元", "元"); result = result.replaceAll("亿万", "亿"); result = result.replaceAll("零$", ""); result = result.replaceAll("元$", "元整"); return result; } package com.mytest;public class Test5 { public static void main(String[] args) { String str = "1,200,000,006.00"; String[] s1 = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖" }; String[] s2 = {"元","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟"}; String[] s3 = {"角","分"}; String result = ""; int pointIndex = str.indexOf("."); String str1 = str.substring(0,pointIndex); String str2 = str.substring(pointIndex+1); String[] strArray = str1.split(","); int index = 1; for(int i = strArray.length - 1 ; i > -1 ; i --){ String strV = strArray[i]; String result1 = ""; for(int j = strV.length() - 1 ; j > -1 ; j --){ String result2 =s1[Integer.parseInt(strV.substring(j,j+1))]+s2[index*3-4-j+strV.length()]; result1 = result2 + result1; } result = result1 +result; index++; } for(int i = 0 ; i < str2.length() ; i ++){ String result3 = s1[Integer.parseInt(str2.substring(i,i+1))] +s3[i]; result = result + result3; } result = result.replaceAll("零仟", "零"); result = result.replaceAll("零佰", "零"); result = result.replaceAll("零拾", "零"); result = result.replaceAll("零亿", "亿"); result = result.replaceAll("零万", "万"); result = result.replaceAll("零元", "元"); result = result.replaceAll("零角", "零"); result = result.replaceAll("零分", "零"); result = result.replaceAll("零零", "零"); result = result.replaceAll("零亿", "亿"); result = result.replaceAll("零零", "零"); result = result.replaceAll("零万", "万"); result = result.replaceAll("零零", "零"); result = result.replaceAll("零元", "元"); result = result.replaceAll("亿万", "亿"); result = result.replaceAll("零$", ""); result = result.replaceAll("元$", "元整"); System.out.println(result); }} !分割钱的逗号要用成半角的package com.test;import java.util.Scanner;public class ChangeFormat { public static void main(String args[]) { Scanner in = new Scanner(System.in); System.out.println("输入一个金额:"); String str = in.next(); String strArray[] =str.split(","); str = ""; for(int i=0;i<strArray.length;i++) { str = str + strArray[i]; } int point = str.indexOf("."); char[] c; if (point == -1) { str = str + ".00"; point = str.indexOf("."); c = new char[str.length()]; } else { c = new char[str.length()]; } if ((str.substring(point + 1, str.length())).length() > 2) { System.out.println("!!!对不起,你输入的小数部分超出实际范围"); return; } if ((str.charAt(0) == '0') && (str.charAt(1) == '0') && (str.indexOf(".") != -1)) { System.out.println("!!!你输入的数字超出误差范围"); return; }String[] x = new String[]{"千","百","十", "亿", "千", "百", "十", "万", "千", "百", "十" }; String[] x1 = new String[point - 1]; for (int i = x1.length - 1; i >= 0; i--) { x1[i] = x[x.length - i - 1]; } for (int i = 0; i < point; i++) { c[i] = str.charAt(i); switch (c[i]) { case '1': System.out.print("壹"); if (x1.length - 1 - i >= 0) { System.out.print(x1[x1.length - 1 - i]); } ; break; case '2': System.out.print("贰"); if (x1.length - 1 - i >= 0) { System.out.print(x1[x1.length - 1 - i]); } ; break; case '3': System.out.print("叁"); if (x1.length - 1 - i >= 0) { System.out.print(x1[x1.length - 1 - i]); } ; break; case '4': System.out.print("肆"); if (x1.length - 1 - i >= 0) { System.out.print(x1[x1.length - 1 - i]); } ; break; case '5': System.out.print("伍"); if (x1.length - 1 - i >= 0) { System.out.print(x1[x1.length - 1 - i]); } ; break; case '6': System.out.print("陆"); if (x1.length - 1 - i >= 0) { System.out.print(x1[x1.length - 1 - i]); } ; break; case '7': System.out.print("柒"); if (x1.length - 1 - i >= 0) { System.out.print(x1[x1.length - 1 - i]); } ; break; case '8': System.out.print("捌"); if (x1.length - 1 - i >= 0) { System.out.print(x1[x1.length - 1 - i]); } ; break; case '9': System.out.print("玖"); if (x1.length - 1 - i >= 0) { System.out.print(x1[x1.length - 1 - i]); } ; break; case '0': if ((i == 0) || (str.charAt(i + 1) == '0') || (str.charAt(point - 1) == '0')) { } else { System.out.print("零"); } ; break; } } if ((str.charAt(0) == '0') && (str.charAt(1) == '.')) { } else { System.out.print("圆"); } for (int i = point + 1; i < str.length(); i++) { c[i] = str.charAt(i); switch (c[i]) { case '1': System.out.print("壹"); if (i == (point + 1)) { System.out.print("角"); } else { System.out.print("分"); } ; break; case '2': System.out.print("贰"); if (i == (point + 1)) { System.out.print("角"); } else { System.out.print("分"); } ; break; case '3': System.out.print("叁"); if (i == (point + 1)) { System.out.print("角"); } else { System.out.print("分"); } ; break; case '4': System.out.print("肆"); if (i == (point + 1)) { System.out.print("角"); } else { System.out.print("分"); } ; break; case '5': System.out.print("伍"); if (i == (point + 1)) { System.out.print("角"); } else { System.out.print("分"); } ; break; case '6': System.out.print("陆"); if (i == (point + 1)) { System.out.print("角"); } else { System.out.print("分"); } ; break; case '7': System.out.print("柒"); if (i == (point + 1)) { System.out.print("角"); } else { System.out.print("分"); } ; break; case '8': System.out.print("捌"); if (i == (point + 1)) { System.out.print("角"); } else { System.out.print("分"); } ; break; case '9': System.out.print("玖"); if (i == (point + 1)) { System.out.print("角"); } else { System.out.print("分"); } ; break; } } }} 2楼那个是double类型,不能满足类似(1,235,236.00)的标准的金额数字,3楼的如果输入一个123就报错了 如何使用HttpClient4.*获得网页的源代码? 字符串比较 各位来帮忙,数据库问题 怎么样裁减图片 JFrame刷新,添加新JPanel完全覆盖旧的JPanel,出现乱屏 JAVA开发的代理程序 java.net.socket中 close_wait fin_wait2 问题 急救!!!!请大虾帮忙!!!!!!!!!!! 高分求swing中怎么样实现图片的伸缩 急!!java调用c++corba开发中遇到的汉字问题 swing jTable删除一条记录后,jTable中的这条记录也被删除 英文数字混合排序
public String toRMB(double money) {
char[] s1 = {'零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'};
char[] s4 = {'分', '角', '元', '拾', '佰', '仟', '万', '拾', '佰', '仟', '亿', '拾', '佰', '仟', '万'};
String str = String.valueOf(Math.round(money * 100 + 0.00001));
String result = "";
for (int i = 0; i < str.length(); i++) {
int n = str.charAt(str.length() - 1 - i) - '0';
result = s1[n] + "" + s4[i] + result;
}
result = result.replaceAll("零仟", "零");
result = result.replaceAll("零佰", "零");
result = result.replaceAll("零拾", "零");
result = result.replaceAll("零亿", "亿");
result = result.replaceAll("零万", "万");
result = result.replaceAll("零元", "元");
result = result.replaceAll("零角", "零");
result = result.replaceAll("零分", "零");
result = result.replaceAll("零零", "零");
result = result.replaceAll("零亿", "亿");
result = result.replaceAll("零零", "零");
result = result.replaceAll("零万", "万");
result = result.replaceAll("零零", "零");
result = result.replaceAll("零元", "元");
result = result.replaceAll("亿万", "亿");
result = result.replaceAll("零$", "");
result = result.replaceAll("元$", "元整");
return result;
}
package com.mytest;public class Test5 {
public static void main(String[] args) {
String str = "1,200,000,006.00";
String[] s1 = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖" };
String[] s2 = {"元","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟"};
String[] s3 = {"角","分"};
String result = "";
int pointIndex = str.indexOf(".");
String str1 = str.substring(0,pointIndex);
String str2 = str.substring(pointIndex+1);
String[] strArray = str1.split(",");
int index = 1;
for(int i = strArray.length - 1 ; i > -1 ; i --){
String strV = strArray[i];
String result1 = "";
for(int j = strV.length() - 1 ; j > -1 ; j --){
String result2 =s1[Integer.parseInt(strV.substring(j,j+1))]+s2[index*3-4-j+strV.length()];
result1 = result2 + result1;
}
result = result1 +result;
index++;
}
for(int i = 0 ; i < str2.length() ; i ++){
String result3 = s1[Integer.parseInt(str2.substring(i,i+1))] +s3[i];
result = result + result3;
}
result = result.replaceAll("零仟", "零");
result = result.replaceAll("零佰", "零");
result = result.replaceAll("零拾", "零");
result = result.replaceAll("零亿", "亿");
result = result.replaceAll("零万", "万");
result = result.replaceAll("零元", "元");
result = result.replaceAll("零角", "零");
result = result.replaceAll("零分", "零");
result = result.replaceAll("零零", "零");
result = result.replaceAll("零亿", "亿");
result = result.replaceAll("零零", "零");
result = result.replaceAll("零万", "万");
result = result.replaceAll("零零", "零");
result = result.replaceAll("零元", "元");
result = result.replaceAll("亿万", "亿");
result = result.replaceAll("零$", "");
result = result.replaceAll("元$", "元整");
System.out.println(result); }
}
Scanner in = new Scanner(System.in);
System.out.println("输入一个金额:");
String str = in.next();
String strArray[] =str.split(","); str = ""; for(int i=0;i<strArray.length;i++)
{
str = str + strArray[i];
} int point = str.indexOf(".");
char[] c;
if (point == -1) {
str = str + ".00";
point = str.indexOf(".");
c = new char[str.length()];
} else {
c = new char[str.length()];
} if ((str.substring(point + 1, str.length())).length() > 2) {
System.out.println("!!!对不起,你输入的小数部分超出实际范围");
return;
} if ((str.charAt(0) == '0') && (str.charAt(1) == '0')
&& (str.indexOf(".") != -1)) { System.out.println("!!!你输入的数字超出误差范围");
return;
}
String[] x = new String[]{"千","百","十", "亿", "千", "百", "十", "万", "千", "百", "十" };
String[] x1 = new String[point - 1]; for (int i = x1.length - 1; i >= 0; i--) {
x1[i] = x[x.length - i - 1];
} for (int i = 0; i < point; i++) {
c[i] = str.charAt(i);
switch (c[i]) {
case '1':
System.out.print("壹");
if (x1.length - 1 - i >= 0) {
System.out.print(x1[x1.length - 1 - i]);
}
;
break;
case '2':
System.out.print("贰");
if (x1.length - 1 - i >= 0) {
System.out.print(x1[x1.length - 1 - i]);
}
;
break;
case '3':
System.out.print("叁");
if (x1.length - 1 - i >= 0) {
System.out.print(x1[x1.length - 1 - i]);
}
;
break;
case '4':
System.out.print("肆");
if (x1.length - 1 - i >= 0) {
System.out.print(x1[x1.length - 1 - i]);
}
;
break;
case '5':
System.out.print("伍");
if (x1.length - 1 - i >= 0) {
System.out.print(x1[x1.length - 1 - i]);
}
;
break;
case '6':
System.out.print("陆");
if (x1.length - 1 - i >= 0) {
System.out.print(x1[x1.length - 1 - i]);
}
;
break;
case '7':
System.out.print("柒");
if (x1.length - 1 - i >= 0) {
System.out.print(x1[x1.length - 1 - i]);
}
;
break;
case '8':
System.out.print("捌");
if (x1.length - 1 - i >= 0) {
System.out.print(x1[x1.length - 1 - i]);
}
;
break;
case '9':
System.out.print("玖");
if (x1.length - 1 - i >= 0) {
System.out.print(x1[x1.length - 1 - i]);
}
;
break;
case '0':
if ((i == 0) || (str.charAt(i + 1) == '0')
|| (str.charAt(point - 1) == '0')) { } else {
System.out.print("零");
}
;
break;
}
}
if ((str.charAt(0) == '0') && (str.charAt(1) == '.')) { } else {
System.out.print("圆");
}
for (int i = point + 1; i < str.length(); i++) {
c[i] = str.charAt(i);
switch (c[i]) {
case '1':
System.out.print("壹"); if (i == (point + 1)) {
System.out.print("角");
} else {
System.out.print("分");
}
;
break;
case '2':
System.out.print("贰");
if (i == (point + 1)) {
System.out.print("角");
} else {
System.out.print("分");
}
;
break;
case '3':
System.out.print("叁");
if (i == (point + 1)) {
System.out.print("角");
} else {
System.out.print("分");
}
;
break;
case '4':
System.out.print("肆");
if (i == (point + 1)) {
System.out.print("角");
} else {
System.out.print("分");
}
;
break;
case '5':
System.out.print("伍");
if (i == (point + 1)) {
System.out.print("角");
} else {
System.out.print("分");
}
;
break;
case '6':
System.out.print("陆");
if (i == (point + 1)) {
System.out.print("角");
} else {
System.out.print("分");
}
;
break;
case '7':
System.out.print("柒");
if (i == (point + 1)) {
System.out.print("角");
} else {
System.out.print("分");
}
;
break;
case '8':
System.out.print("捌");
if (i == (point + 1)) {
System.out.print("角");
} else {
System.out.print("分");
}
;
break;
case '9':
System.out.print("玖");
if (i == (point + 1)) {
System.out.print("角");
} else {
System.out.print("分");
}
;
break;
}
} }}