如何让输入的123打印成“一百二十三”

zyhxiaoyue 2011-06-14 09:45:36
求解
...全文
328 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjh20112011 2011-06-15
  • 打赏
  • 举报
回复
这个不行吧 ?一看就会有一千万二百万三十万四万这样的数字读出来
xuxianyue 2011-06-15
  • 打赏
  • 举报
回复
String Mon[] = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九" };
TKD03072010 2011-06-15
  • 打赏
  • 举报
回复
按楼上这思路 就行了
九两银 2011-06-15
  • 打赏
  • 举报
回复
咦···········
qingralf 2011-06-14
  • 打赏
  • 举报
回复
0的处理不对.sorry
qingralf 2011-06-14
  • 打赏
  • 举报
回复



public static void main(String[] args) {

// Money用于存放输入的金额数
long Money = 0;
String Mon[] = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };

String Mon1[] = { "拾", "佰", "仟", "万", "拾万", "百万", "仟万", "亿", "拾亿",
"百亿", "仟亿" }, je[] = new String[30];// je[]数组用于存放数字金额被转换后的数字

// n用于测试您是否有金额转换
int n = args.length;

if (n == 0)
System.out.println("请输入需要转换的金额:");

// 将输入的金额转化成long型的数据
else {
Money = Long.parseLong(args[n - 1]);
}
// bitt用于存放第几个需转换的金额数字,
int bitt = 0, j, k = -1, i = 0;

// 转换过程
while (Money != 0) {
bitt = (int) (Money % 10L);

// 计算出每个数字对应的大写值
for (j = 0; j < Mon.length; j++) {
if (j == bitt)
break;
}

// 将相应的值存入je[]中
if (k != -1) {
je[i] = Mon1[k];
i++;
}
je[i] = Mon[j];
i++;
Money = Money / 10;
k++;
if (Money == 0) {
// 输出转换后的金额
System.out.print("您输入的金额为:");
i--;
for (; i >= 0; i--)
System.out.print(je[i]);
}

}

}




引用地址http://www.oschina.net/code/snippet_54100_4673

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧