给你 点我的思路
首先 建立两个数组
String[] str={"分","角","","元","拾","佰","千"....}
String[] str2={"零","壹","贰","叁"......}
这下你应该明白了吧
首先 建立两个数组
String[] str={"分","角","","元","拾","佰","千"....}
String[] str2={"零","壹","贰","叁"......}
这下你应该明白了吧
解决方案 »
- java二维数组的问题,高手请进!解决了高分相送!
- java图片路径问题 求高手
- 关于正则表达式的字符串拆分问题
- 研究java源代码:关于Arrays.sort
- DecimalFormat取值问题
- 头大了。。。
- 拜求java包:netscape.javascript.*(高分)
- ◆发生了奇怪的问题∶怎么Tomcat自带的例子程序有的可以运行,有的却不能。(前天还都是好的)◆
- (JavaMail)请问哪位有处理 hz-gb-2312 编码的经验,我的Message.getContent碰到这种来信会出错。
- 分苹果问题
- 重新问:如何对控件的层次进行控制?(加上以前问的那次,一共150分,谁解决给谁)
- 求救,关于jdbc的!在线!
那我就不好意思盗用下你的知识产权了:)
我在原来的代码下就加个主函数 class Moneytrans {
private String strChMoney = new String();
private String strNumChList = "零壹贰叁肆伍陆柒捌玖";
private String strCurrChList = "分角元拾佰仟万拾佰仟亿拾佰仟万";
private String strNumCh1, strCurrCh1;
private boolean zeroFlag = false;
private float f1;
private int intStrLen, i, numch, pos; Moneytrans() {
} String Trans(String strNumMoney) {
try {
f1 = Float.parseFloat(strNumMoney);
}
catch (Exception e) {
}
strNumMoney = Long.toString( (long) (f1 * 100));
intStrLen = strNumMoney.length();
i = 1;
while (i <= intStrLen) {
numch = Integer.parseInt(strNumMoney.substring(i - 1, i));
strNumCh1 = strNumChList.substring(numch, numch + 1);
strCurrCh1 = strCurrChList.substring(intStrLen - i, intStrLen - i + 1); if (!zeroFlag && strNumCh1.equals("零")) {
i++;
if (strCurrCh1.equals("元")) {
strChMoney += strCurrCh1 + "零";
zeroFlag = true;
continue;
}
if (strCurrCh1.equals("角")) {
strChMoney += strNumCh1;
zeroFlag = true;
continue;
}
if (strCurrCh1.equals("分") || strCurrCh1.equals("角")) {
continue;
}
strChMoney += strNumCh1;
zeroFlag = true; continue;
}
if (zeroFlag && strNumCh1.equals("零")) {
i++;
if (strCurrCh1.equals("元")) {
pos = strChMoney.lastIndexOf("零");
strChMoney = strChMoney.substring(0, pos) + strCurrCh1 + "零";
continue;
}
continue;
}
strChMoney += strNumCh1 + strCurrCh1;
zeroFlag = false;
i++;
}
if (strChMoney.endsWith("零")) {
strChMoney = strChMoney.substring(0, strChMoney.lastIndexOf("零"));
}
return strChMoney.concat("整");
}
public static void main(String arg[]){
Moneytrans mt=new Moneytrans();
String s=mt.Trans("125423.00");
System.out.println(s);
}
}