人民币大写转阿拉伯数字的java实现

本文介绍了一个简单的Java工具类,用于将人民币的大写金额转换为阿拉伯数字形式,通过直接替换字符串实现。
摘要由CSDN通过智能技术生成

人民币大写转阿拉伯数字的工具类,简单粗暴的替换就完事了

import java.util.HashMap;
import java.util.Map;

public class ValueConvertUtil {
   
    /**
     * 将大写金额转换为字符串形式的阿拉伯数字。
     * 支持小于一万亿的数字,可精确到小数点后两位
     * 如果大写金额的格式错误,本函数不保证能范围正确的结果(废话..)
     */
    public static String formatAmount(String cnTraditionalNum) {
   
        //规范错误字符
        cnTraditionalNum = cnTraditionalNum
                .replaceAll("億", "亿")
                .replaceAll("萬", "万")
                .replaceAll("千", "仟")
                .replaceAll("任", "仟")
                .replaceAll("阡", "仟")
                .replaceAll("百", "佰")
                .replaceAll("陌", "佰")
                .replaceAll("元", "圆")
                .replaceAll("圓", "圆")
        //.replaceAll("廿", "贰拾")
        //.replaceAll("念", "贰拾")
        //.replaceAll("卅", "叁拾")
        //.replaceAll("卌", "肆拾")
        //.replaceAll("圩", "伍拾")
        //.replaceAll("圆", "陆拾")
        //.replaceAll("进", "柒拾")
        //.replaceAll("枯", "捌拾")
        //.replaceAll("枠", "玖拾")
        ;

        long result = 0;

        if (cnTraditionalNum.contains("亿")) {
   
            String yi = cnTraditionalNum.substring(0, cnTraditionalNum.indexOf("亿"));
            result += cnThousandNumberToArab(yi) * 100000000L;
            cnTraditionalNum = cnTraditionalNum.substring(cnTraditionalNum.indexOf("亿"));
        }

        if (cnTraditionalNum.contains("万")) {
   
            String wan = cnTraditionalNum.substring(0, cnTraditionalNum.indexOf("万"));
            result += cnThousandNumberToArab
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值