黑马程序员技术交流社区
标题:
-----急,求大神帮助-----
[打印本页]
作者:
吴波
时间:
2013-5-17 18:31
标题:
-----急,求大神帮助-----
本帖最后由 吴波 于 2013-5-21 16:09 编辑
如何将101000001010转换成
壹仟零壹拾亿零壹仟零壹拾圆整
急求代码!!!!
作者:
王靖远
时间:
2013-5-17 18:40
做除10运算进行循环啊。
作者:
fjl_fight
时间:
2013-5-17 18:53
package com.itheima;
/**
* @author fjl
*
*/
class MoneyConversion{
//1~10对应的中文繁体,注意顺序,方便后面操作
public static final char[] MONEYUPPER={'零','壹','貳','叁','肆','伍','陆','柒','捌','玖','拾'};
//金额面值
public static final char[] MONEYUNIT={'元','拾','佰','仟','万','拾','佰','仟','亿'};
/**
* 金额转换
* @param money
* @return 中文传统表示形式
*/
public static String convertsion(Long money){
StringBuilder sb=new StringBuilder();
int x=0;
while(money!=0){
//从低到高为MONEYUNIT数组的声明顺序,每次在最高位插入
sb.insert(0, MONEYUNIT[x++]);
//System.out.println(sb);//测试
//每次取余得到的数所对应的的中文传统大写
int num=(int) (money%10);
//先插入金额面值,再插入对应面值上的数值金额,如:拾元
sb.insert(0, MONEYUPPER[num]);
//System.out.println(sb);//测试
money/=10;
}
//某些位上的零+面值去除
return sb.toString().replaceAll("零[拾 佰 仟]", "零").
replaceAll("零+万","零").replaceAll("零+元", "元").
replaceAll("零+","零")+"整";
}
}
public class Test10 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//测试
System.out.println(MoneyConversion.convertsion(new Long(110030020)));
}
}
复制代码
作者:
吴波
时间:
2013-5-17 19:47
fjl_fight 发表于 2013-5-17 18:53
人才啊,加个十百千万等等,我一直没想出来。
谢谢你了
作者:
马伟奇
时间:
2013-5-17 21:06
吴波 发表于 2013-5-17 19:47
人才啊,加个十百千万等等,我一直没想出来。
谢谢你了
黑马考试题,既然在这里提问,哥们服你了
作者:
花开花落总相似
时间:
2013-5-17 22:49
2楼正解 做除10的操作
作者:
殇_心。
时间:
2013-5-19 11:39
如果问题已解决,请及时修改分类,否则继续提问,谢谢合作!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2