传入int类型数字即可返回对应汉字

164 阅读1分钟

传入int类型数字即可返回对应汉字

日常开发中,我们在导出一些报表什么的,需要我们将一些数字转化成中文的值,本案例是一个简单的工具类,传入int类型数字即可返回对应汉字。

    public static String int2chineseNum(int src) {
        final String num[] = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};
        final String unit[] = {"", "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千"};
        int number = src;
        String dst = "";
        int count = 0;
        while(src > 0) {
            dst = (num[src % 10] + unit[count]) + dst;
            src = src / 10;
            count++;
        }

        if (number == 11) {
            return dst.replaceAll("一", "") + "一";
        }

        if (number > 9 && number < 20) {
            return dst.replaceAll("一", "");
        }

        return dst.replaceAll("零[千百十]", "零").replaceAll("零+万", "万")
                .replaceAll("零+亿", "亿").replaceAll("亿万", "亿零")
                .replaceAll("零+", "零").replaceAll("零$", "");
    }```