数字转中文写法 + freemarker自定义方法

Posted bevis-byf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字转中文写法 + freemarker自定义方法相关的知识,希望对你有一定的参考价值。

package cn.com.utils;

public class NumToChineseUtil {

    /**
     * Java 好用的
     * int 数字转中文
     * @param src
     * @return
     */
    public static String read(int src) {
        final String num[] = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};
        final String unit[] = {"", "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千"};
        String dst = "";
        int count = 0;
        while(src > 0) {
            dst = (num[src % 10] + unit[count]) + dst;
            src = src / 10;
            count++;
        }
        if(dst.startsWith("一十")) {
            dst = dst.substring(1);
        }
        return dst.replaceAll("零[千百十]", "零").replaceAll("零+万", "万")
                .replaceAll("零+亿", "亿").replaceAll("亿万", "亿零")
                .replaceAll("零+", "零").replaceAll("零$", "");

    }
}

 

freemarker自定义方法

<#assign numToChinese = "cn.com.aia.grouplife.utils.NumToChinese"?new() />

 

以上是关于数字转中文写法 + freemarker自定义方法的主要内容,如果未能解决你的问题,请参考以下文章

Freemarker自定义指令和方法

Freemarker自定义指令和方法

freemarker 数据类型

freemarker中调用java方法,除了内建函数,自定义的怎么调用?

ofBiz-groovy-freemarker

SpringMVC和Freemarker整合,带自定义标签的使用方法