阿拉伯数字转中文数字

在使用 《 [Java POI 导出 Excel 文件 异常修复] 》后,为了更加美观,而写的

其中需要将 阿拉伯数字转中文数字 如下代码:

package com.etc.bus.carpark.utils;

import org.springframework.stereotype.Component;

/**
 * 阿拉伯数字转中文数字
 * <p>
 * 
 * @ClassName : IntegerToChineseNumberUtils
 *            </p>
 *            <p>
 * @Description : TODO
 *              </p>
 *              <p>
 * @Author : HuaZai
 *         </p>
 *         <p>
 * @ContactInformation : 1461522031@qq.com/huazai6789@aliyun.com
 *                     </p>
 *                     <p>
 * @Date : 2017年10月26日 下午4:58:50
 *       </p>
 * 
 *       <p>
 * @Version : V1.0.0
 *          </p>
 *
 */
@Component
public class IntegerToChineseNumberUtils {

    /**
     * 获取单位
     * <p>
     * 
     * @Title : ToCH
     *        </p>
     *        <p>
     * @Description : TODO
     *              </p>
     *              <p>
     * @Author : HuaZai
     *         </p>
     *         <p>
     * @Date : 2017年10月26日 下午5:03:05
     *       </p>
     */
    public static String ToCH(int intInput) {
        String si = String.valueOf(intInput);
        String sd = "";
        if (si.length() == 1) { // 个位
            sd += GetCH(intInput);
            return sd;
        } else if (si.length() == 2) { // 十位
            if (si.substring(0, 1).equals("1"))
                sd += "十";
            else
                sd += (GetCH(intInput / 10) + "十");
            sd += ToCH(intInput % 10);
        } else if (si.length() == 3) { // 百位
            sd += (GetCH(intInput / 100) + "百");
            if (String.valueOf(intInput % 100).length() < 2)
                sd += "零";
            sd += ToCH(intInput % 100);
        } else if (si.length() == 4) { // 千位
            sd += (GetCH(intInput / 1000) + "千");
            if (String.valueOf(intInput % 1000).length() < 3)
                sd += "零";
            sd += ToCH(intInput % 1000);
        } else if (si.length() == 5) { // 万位
            sd += (GetCH(intInput / 10000) + "萬");
            if (String.valueOf(intInput % 10000).length() < 4)
                sd += "零";
            sd += ToCH(intInput % 10000);
        }

        return sd;
    }

    /**
     * 获取中文数字
     * <p>
     * 
     * @Title : GetCH
     *        </p>
     *        <p>
     * @Description : TODO
     *              </p>
     *              <p>
     * @Author : HuaZai
     *         </p>
     *         <p>
     * @Date : 2017年10月26日 下午5:03:41
     *       </p>
     */
    private static String GetCH(int input) {
        String sd = "";
        switch (input) {
        case 1:
            sd = "一";
            break;
        case 2:
            sd = "二";
            break;
        case 3:
            sd = "三";
            break;
        case 4:
            sd = "四";
            break;
        case 5:
            sd = "五";
            break;
        case 6:
            sd = "六";
            break;
        case 7:
            sd = "七";
            break;
        case 8:
            sd = "八";
            break;
        case 9:
            sd = "九";
            break;
        default:
            break;
        }
        return sd;
    }
}

以上是关于 阿拉伯数字转中文数字 的解决办法,使用的是普通的 Java 控制流程的方法解决的。
如果有更好的方法,希望也可以一起分享一下,谢谢!!!

好了,关于 “ 阿拉伯数字转中文数字 ” 就写到这儿;
也希望大家多多关注CSND的IT社区。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TechBro华仔

日拱一卒无有尽,功不唐捐终入海

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值