Java实现金额数字转财务大写

人民币转换工具 //转换人民币大写 public class ChineseYuanUtil { /** * 汉语中数字大写 / private static final String[] CN_UPPER_NUMBER = { “零”, “壹”, “贰”, “叁”, “肆”, “伍”, “陆”, “柒”, “捌”, “玖” }; /* * 汉语中货币单位大写,这样的设计类似于占位符 / private static final String[] CN_UPPER_MONETRAY_UNIT = { “分”, “角”, “ 阅读详情

Java实现将金额数字转为财务大写

public class NumberToCN {
	/**
	 * 汉语中数字大写
	 */
	private static final String[] CN_UPPER_NUMBER = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
	/**
	 * 汉语中货币单位大写,这样的设计类似于占位符
	 */
	private static final String[] CN_UPPER_MONETRAY_UNIT = { "分", "角", "元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾",
			"佰", "仟", "兆", "拾", "佰", "仟" };
	/**
	 * 特殊字符:整
	 */
	private static final String CN_FULL = "整";
	/**
	 * 特殊字符:负
	 */
	private static final String CN_NEGATIVE = "负";
	/**
	 * 金额的精度,默认值为2
	 */
	private static final int MONEY_PRECISION = 2;
	/**
	 * 特殊字符:零元整
	 */
	private static final String CN_ZEOR_FULL = "零元" + CN_FULL;

	/**
	 * 把输入的金额转换为汉语中人民币的大写
	 * 
	 * @param numberOfMoney
	 *            输入的金额
	 * @return 对应的汉语大写
	 */
	public static String number2CNMontrayUnit(BigDecimal numberOfMoney) {
		StringBuffer sb = new StringBuffer();
		// -1, 0, or 1 as the value of this BigDecimal is negative, zero, or
		// positive.
		int signum = numberOfMoney.signum();
		// 零元整的情况
		if (signum == 0) {
			return CN_ZEOR_FULL;
		}
		// 这里会进行金额的四舍五入
		@SuppressWarnings("deprecation")
		long number = numberOfMoney.movePointRight(MONEY_PRECISION).setScale(0, 4).abs().longValue();
		// 得到小数点后两位值
		long scale = number % 100;
		int numUnit = 0;
		int numIndex = 0;
		boolean getZero = false;
		// 判断最后两位数,一共有四中情况:00 = 0, 01 = 1, 10, 11
		if (!(scale > 0)) {
			numIndex = 2;
			number = number / 100;
			getZero = true;
		}
		if ((scale > 0) && (!(scale % 10 > 0))) {
			numIndex = 1;
			number = number / 10;
			getZero = true;
		}
		int zeroSize = 0;
		while (true) {
			if (number <= 0) {
				break;
			}
			// 每次获取到最后一个数
			numUnit = (int) (number % 10);
			if (numUnit > 0) {
				if ((numIndex == 9) && (zeroSize >= 3)) {
					sb.insert(0, CN_UPPER_MONETRAY_UNIT[6]);
				}
				if ((numIndex == 13) && (zeroSize >= 3)) {
					sb.insert(0, CN_UPPER_MONETRAY_UNIT[10]);
				}
				sb.insert(0, CN_UPPER_MONETRAY_UNIT[numIndex]);
				sb.insert(0, CN_UPPER_NUMBER[numUnit]);
				getZero = false;
				zeroSize = 0;
			} else {
				++zeroSize;
				if (!(getZero)) {
					sb.insert(0, CN_UPPER_NUMBER[numUnit]);
				}
				if (numIndex == 2) {
					if (number > 0) {
						sb.insert(0, CN_UPPER_MONETRAY_UNIT[numIndex]);
					}
				} else if (((numIndex - 2) % 4 == 0) && (number % 1000 > 0)) {
					sb.insert(0, CN_UPPER_MONETRAY_UNIT[numIndex]);
				}
				getZero = true;
			}
			// 让number每次都去掉最后一个数
			number = number / 10;
			++numIndex;
		}
		// 如果signum == -1,则说明输入的数字为负数,就在最前面追加特殊字符:负
		if (signum == -1) {
			sb.insert(0, CN_NEGATIVE);
		}
		// 输入的数字小数点后两位为"00"的情况,则要在最后追加特殊字符:整
		if (!(scale > 0)) {
			sb.append(CN_FULL);
		}
		return sb.toString();
	}

	
}

java人民币数字转大写汉字(小写转为大写).java 人民币小写金额转为大写金额 阅读详情

相关推荐

Java数字转中文大写工具类(拿去即用)

Java数字转中文大写工具类: 包括数字转中文大写形式,比如一百二十一;数字转金额用的大写形式,比如:壹佰贰拾壹;转金额形式,比如:壹佰贰拾壹整

weixin_47390965的博客 5904

java将输入的数字金额转换为中文大写金额

数字金额转换为中文大写金额

m0_68055637的博客 8116

银行app金额转化为大写汉字代码Java

银行app金额转化为大写汉字代码Java 网上有好多相关转化的Java代码,这个我写的方式如下: public class ChangeMoney { /** * @param dubin * 写一个方法,输入String str,如: “¥1156562500.339” 请转换为 如下样式:壹拾壹亿伍仟陆佰伍拾陆万贰仟伍佰园叁角叁分玖厘 * * */ public static StringBu...

DuBin_的博客 453

java实现数字转大写

说明: 将数字金额转大写,如下: public class Test { /** * @param args * add by zxx ,Nov 29, 2008 */ private static final char[] data = new char[] { '零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌'

漫天雪_昆仑巅 2125

实现数字金额到中文大写的编程技巧

在创建“数字转换器”类时,可以定义如下属性和方法:属性可能包括:amount(String类型):存储需要转换的数字金额。result(String类型):存储转换结果的中文大写金额。unitMapper(Map类型):映射数字到中文单位的映射表。方法可能包括::设置需要转换的金额。:执行转换逻辑,将数字金额转换为中文大写。:返回转换后的结果。在方法中,逻辑执行的步骤可能包括:1. 验证输入金额的有效性。

weixin_30481539的博客 1259

从手机到自动驾驶:MIPI-CSI2协议演进史与车规级改造要点

本文追溯了MIPI-CSI2协议从智能手机摄像头到自动驾驶核心传感器的演进历程。重点剖析了该协议在车规级改造中面临的严苛挑战,包括物理层稳定性、EMC防护、功能安全与数据可靠性等关键要点,并探讨了其在多传感器融合与高带宽实时传输中的工程实践。

weixin_28318011的博客 310

金额转中文大写

【代码】金额转中文大写。

guacharo77的博客 221

北理计算机考研复试经验贴

很早就想写一篇复试经验贴,因为关于复试,消息相对初试少很多,尤其北理,关于具体怎么考,网上信息更是匮乏,之前自己也是死缠烂打,一路追着各位学姐学长问经验,求助老师才一路走过来,至今还没有看过系统完整的北理计算机的复试经验贴,后又经过老师提醒,借此机会开始好好总结一下,希望帮到你们。 首先希望学弟学妹不管初试成绩是高是低对复试都要足够的重视,因为复试1分相当于初试的5分,而且去年今年都有初试前几名...

wusiji8121的博客 2万+

java实现金钱数字转大写

import java.math.BigDecimal; /** * 数字转换为汉语中人民币的大写&lt;br&gt; * */ public class NumberToCN { /** * 汉语中数字大写 */ private static final String[] CN_UPPER_NUMBER = { "零", "壹", "贰", "叁"...

qq764136933的专栏 2093

深度解析跨境支付之业务架构

详解跨境支付之业务架构

weixin_47493863的博客 1880

【STM32项目】老人健康跌倒检测系统实现(附教程PCB资料)

功能概述 跌倒检测 倾倒告警,人体角度倾斜至阈值触发蜂鸣报警 异常运动,加速度超过正常行动阈值时触发报警 心率监测 实时检测心率数据 血氧监测 实时检测采集血氧 血压测量 血压在线测量 红外体温 非接触体温采集方案 接触式体温采集方案 实时定位 中科微GPSGT-U12双频GPS北斗 GLONASS IRNSS定位系统 NEMA数据解析 可扩展高精度定位方案厘米级 屏幕显示 数据采集显示 告警阈值设置 语音提示 1欢迎使用老人智慧监测系统

洋洋的博客 1万+

人民币转换

将输入的阿拉伯数字金额,按照财务大写金额规范转换为中文大写格式,必须包含前缀 “人民币”,严格遵循用字规范、零处理规则、单位规则以及 “整” 字结尾规则,适用于票据、合同、财务凭证等标准场景。 核心规则总结 1.前缀固定:必须以 人民币 开头; 2.用字标准:使用壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿、元、角、分; 3.整字规则:只有无角无分时,末尾加 整; 4.零的规则:连续多个 0 只写一个零,中间 0 必须写零; 5.单位规则:10 写作拾,100 写作壹佰,高位单位正常拼接。

y245166349的专栏 449

【实战教程】OpenClaw接入MySQL数据库实战指南

本文介绍了在虚拟机Ubuntu中访问宿主机Win11中MySQL数据库的配置方法,重点包括创建远程用户、权限配置和安全设置。首先在MySQL中创建具有只读权限的用户并刷新权限,然后调整服务器设置允许远程连接。文章还提供了某金融机构财富管理系统的数据库设计方案,包含理财产品表、客户表和份额表的核心结构,其中金额字段使用DECIMAL类型确保精度,并设置唯一键约束。文末强调测试环境配置完成后应恢复安全更新模式以保障生产环境安全。

海兰 8700

数字金额转化为大写金额

----在和交易有关的项目中,计划都涉及到了数字金额转大写的部分,虽然只是一个很小很小的功能,前端和后端都能实现,但是创建一个公共方法,在整个项目中只用调用就显得很方便了。      public static String toChinese(double n) {      String fraction[] = {"角", "分"};      String digit[] =...

dancheguiji的博客 1225

【反封禁策略】集成 Undetected-Chromedriver:让 Browser-Use 绕过 Cloudflare 五秒盾

摘要:AI Agent如何突破Cloudflare检测的实战指南 本文针对AI Agent在Cloudflare检测下频繁受阻的问题,深入分析了undetected-chromedriver的工作原理与局限性。文章指出,Cloudflare 2026年的检测体系已升级为"浏览器指纹+IP信誉+协议指纹+行为模式"的多维交叉验证,单一伪装方案难以奏效。 核心内容包括: undetected-chromedriver的三层补丁体系解析 v2与v3版本的适用场景对比 两种Browser-Use集成方案:Selen

ZDQ58818的博客 284

基于YOLO系列的安全帽检测系统:从理论到实现的完整指南

安全帽检测作为计算机视觉在工业安全领域的重要应用,近年来得到了广泛关注。本文详细介绍了基于YOLOv5、YOLOv6、YOLOv7和YOLOv8的安全帽检测系统的完整实现方案,包括算法原理、数据集构建、模型训练、性能优化以及完整的UI界面设计。通过对比分析不同YOLO版本的性能差异,本文为工业安全检测系统的开发提供了全面的技术参考和实践指导。

YOLO 364

数字转中文大写

效果图如下:     package com.lhy.test; import java.text.SimpleDateFormat; import java.util.Date; public class Tool { private static final String UNIT = "万千佰拾亿千佰拾万千佰拾元角分"; private static fina...

qq_41340112的博客 649

ParaView: 从 2 或 3 个标量创建向量

ParaView: 从 2 或 3 个标量创建向量

希望我的博客,能帮上你解决学习中工作中所遇到的问题 585

实现大小写金额的转换

package java_basis; class Change_money { public static String change(String money){ String  [] MyScale = { "分","角","元","拾","百","仟","万","拾","百","仟","亿", "拾","百","仟","兆","拾","百","仟" }; String [] M

星火孤明城 630

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

阿拉伯数字的金额转换成中国传统的形式

金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。 代码如下:

u010095995的专栏 754

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

RMB小写转换成大写

/** * * @类名: RMBChange * @作用: 人民币小写转换为大写 * @日期: 2013-1-7 下午09:31:12 * */ public class RMBChange { public static void main(String agrs[]) { //整数 System.out.println(digitUppercase(0));

Kula的学习笔记 1488

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

java开发_数字转换汉语中人民币的大写_完整版

转自:https://www.cnblogs.com/hongten/p/hongten_java_money.html 做这个应用,源于突然的一个想法:看到发票上面的数字要转换成汉语中人民币的大写 于是就有了下面的这些事儿..... 先看看运行效果: ====================================================== 代码部分 =========...

weixin_34314962的博客 169

Java数字金额大写转换

需求:读入一个浮点数值,将其转化为中文金额的大写形式。如123.45,转化为:壹佰贰拾叁元肆角伍分。 以下是各种情况要完善: 1.当金额为整数,只表示整数部分,省略小数部分,并添加“整”字。如123表示为:壹佰贰拾叁元整。 2.当金额中含有连续的0时,只需写一个“零”即可。如10005表示为:壹万零伍元整。3.10的表示形式。如120表示为:壹佰贰拾元整。而10则表示为:拾元整。 pu...

Dxx_23的博客 8093

Java实现大写金额转小写金额

转自:https://blog.youkuaiyun.com/rmnjava/article/details/24693733 public class MoneyUtil { /** * 中文中简写的汉字金额 经常使用 */ private static String[] rmbNumbers = new String[]{ "一", "二", "三", "四", "五", "六", "七", "八", "九", "两", "廿", "卅", "○"};

hxt的博客 2372

Java中浮点数转大写金额工具类

做财务模块时,客户要求使用大写金额来显示数字金额,这时便用到了浮点数转大写金额工具类 1、浮点数转大写金额工具类 AmountUtil.java: import java.math.BigDecimal; /** * 浮点数转为大写金额 * * @author lizhou */ public class AmountUtil { private static final S...

JACKAL 19万+
上一篇: 金额数字转财务大写
下一篇: 图像合成 - Java实现仿微信群聊头像
以夢爲馬☆
博客等级 码龄15年 286粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值