课程咨询 :186 8716 1620      qq:2066486918

昆明Java培训 > 达内新闻 > 数字转中文,Java代码也可以很神奇
  • 数字转中文,Java代码也可以很神奇

    发布:昆明Java培训      来源:达内新闻      时间:2016-07-29

  • 今天达内Java培训的小编要教大家一组神奇的Java代码,这组代码可以将阿拉伯数字转换成中文的小写数字,也就是说将“12345”转换成“一二三四五”。屏幕前的你是不是也跟小编我一样好奇,到底是如何用Java代码实现这个转换的呢,赶快来看看吧。

    public String NumToChinese(String num) {

    String resultStr ="";

    String numArr[] = {"零","一","二","三","四","五","六","七","八","九"};

    String weightArr[] = {"十","百","千","万","十","百","千","亿" };

    int numLength = num.length();

    for (int i = -1; num.length() >0; i++) {

    int j = Integer.parseInt(num.substring(num.length() -1));

    String temp = numArr[j];

    if (j !=0 && i != -1 || i %8 ==3 || i %8 ==7) {

    if (numLength ==2 && num.substring(0,1).equals("1")) {

    temp = weightArr[i %8];

    }else {

    temp += weightArr[i %8];

    }

    }

    resultStr = temp + resultStr;

    num = num.substring(0, num.length() -1);

    }

    // 去除后面连续的零零

    while (resultStr.endsWith(numArr[0])) {

    resultStr = resultStr.substring(0, resultStr.lastIndexOf(numArr[0]));

    }

    // 零零换成零

    while (resultStr.indexOf(numArr[0] + numArr[0]) != -1) {

    resultStr = resultStr.replaceAll(numArr[0] + numArr[0], numArr[0]);

    }

    // 将 零+某个单位 替换成 该单位 去掉单位前面的零

    for (String weightStr : weightArr) {

    resultStr = resultStr.replaceAll(numArr[0] + weightStr, weightStr);

    }

    // 一百一十

    while (resultStr.endsWith(weightArr[0])) {

    resultStr = resultStr.substring(0, resultStr.length() -1);

    }

    return resultStr;

    }

    Java就是这么神奇,这组神奇的代码你看懂了吗?想要学习更多Java相关知识,可以联系达内Java的培训老师,还有更多神奇的代码等你来学习。

    推荐文章

上一篇:Java代码之猜颜色游戏

下一篇:如何用Java代码实现多种字体

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:12/29

Java--零基础业余班

Java--零基础业余班

开班日期:12/29

Java--周末提升班

Java--周末提升班

开班日期:12/29

Java--零基础周末班

Java--零基础周末班

开班日期:12/29

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:186 8716 1620      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56