Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java 金额转大写

作者:躲藏我的霸气   发布日期:2026-01-11   浏览:3

public class AmountToChinese {
    // 定义中文大写数字字符数组
    private static final String[] CN_UPPER_NUMBER = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
    // 定义中文大写单位字符数组
    private static final String[] CN_UPPER_MONETARY_UNIT = {"分", "角", "元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "兆", "拾", "佰", "仟"};

    public static String number2CNMonetaryUpper(int num) {
        StringBuilder sb = new StringBuilder();
        int unitPos = 0;
        boolean isZero = false;

        while (num > 0) {
            int mod = num % 10;
            if (mod == 0) {
                if (!isZero) {
                    sb.insert(0, CN_UPPER_NUMBER[mod]);
                    isZero = true;
                }
            } else {
                isZero = false;
                String cnNum = CN_UPPER_NUMBER[mod];
                String cnUnit = CN_UPPER_MONETARY_UNIT[unitPos];
                sb.insert(0, cnNum + cnUnit);
            }
            num /= 10;
            unitPos++;
        }

        return sb.toString().replaceAll("元零角零分$", "元整").replaceAll("零([拾佰仟])", "$1").replaceAll("零+万", "万").replaceAll("零+亿", "亿").replaceAll("零+", "零").replaceAll("^一拾", "十");
    }

    public static void main(String[] args) {
        System.out.println(number2CNMonetaryUpper(123456789));
    }
}

解释说明:

  1. CN_UPPER_NUMBER:定义了中文的大写数字字符数组,从“零”到“玖”。
  2. CN_UPPER_MONETARY_UNIT:定义了中文的大写金额单位字符数组,包括“分”、“角”、“元”以及更大的单位如“拾”、“佰”、“仟”、“万”等。
  3. number2CNMonetaryUpper:这是核心方法,将一个整数转换为中文大写金额格式。它通过逐位处理数字,并根据其位置添加相应的单位。
  4. 正则表达式替换:为了使输出更加规范和简洁,使用了正则表达式来处理一些特殊情况,例如“元零角零分”替换为“元整”,连续的“零”只保留一个等。

示例:

对于输入 123456789,输出结果为 壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾元整

上一篇:java判断字符串不为空和null

下一篇:java中switch用法

大家都在看

java url decode

java判断是windows还是linux

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java读取excel中的图片

java新建

java base64 加密

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站