java实现金额数字转换为中文大写

这是一个Java程序,用于将金额数字转换成中文大写形式。程序支持小数点后两位的四舍五入,并能处理从-99999999999999.99到99999999999999.99之间的数值。代码中定义了汉字数字数组,并通过拆分整数部分、处理小数部分,实现了数字到中文大写的转换。
摘要由CSDN通过智能技术生成
import java.io.*;
import java.lang.IllegalArgumentException;
public class ConvertNum{
	/**
     * 把金额阿拉伯数字转换为汉字表示,小数点后四舍五入保留两位
	 * 还有一种方法可以在转换的过程中不考虑连续0的情况,然后对最终的结果进行一次遍历合并连续的零
     */
	public static String [] ChineseNum = new String[]{"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
	public static String NumToChinese(double num){
	    if(num > 99999999999999.99 || num < -99999999999999.99)
            throw new IllegalArgumentException("参数值超出允许范围 (-99999999999999.99 ~ 99999999999999.99)!");
		boolean negative = false;//正负标号
		if(num<0){
			negative = true;
			num = num*(-1);
		}
		long temp = Math.round(num*100);
		int numFen=(int)(temp%10);//分
		temp=temp/10;
		int numJiao = (int)(temp%10);//角
		temp=temp/10;
		//此时temp只包含整数部分
		int [] parts =new int[20];//将金额整数部分分为在0-9999之间数的各个部分
		int numParts 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值