查看: 2105|回复: 0
打印 上一主题 下一主题
收起左侧

[算法与编程] 176、金额转换,阿拉伯数字的金额转换成中国传统的形式输出

[复制链接]

566

主题

713

帖子

3827

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3827
楼主
跳转到指定楼层
发表于 2016-9-7 23:20:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

176、金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。


去零的代码:

return sb.reverse().toString().replaceAll("零[拾佰仟]","零").replaceAll("零+万","万").replaceAll("零+元","元").replaceAll("零+","零");


  1. public class RenMingBi {

  2. /**
  3. * @param args add by zxx ,Nov 29, 2008
  4. */
  5. private static final char[] data = new char[]{
  6. '零','壹','贰','叁','肆','伍','陆','柒','捌','玖'
  7. };
  8. private static final char[] units = new char[]{
  9. '元','拾','佰','仟','万','拾','佰','仟','亿'
  10. };
  11. public static void main(String[] args) {
  12. // TODO Auto-generated method stub
  13. System.out.println(
  14. convert(135689123));
  15. }

  16. public static String convert(int money)
  17. {
  18. StringBuffer sbf = new StringBuffer();
  19. int unit = 0;
  20. while(money!=0)
  21. {
  22. sbf.insert(0,units[unit++]);
  23. int number = money%10;
  24. sbf.insert(0, data[number]);
  25. money /= 10;
  26. }

  27. return sbf.toString();
  28. }
  29. }

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 打开微信扫一扫