数字转换为大写汉字

数字转大写汉字转换器的实践应用 htmltable {th, td {th {pre {简介:本主题关注在中国金融、会计和法律等领域的数字转大写汉字的需求。大写数字具有难以篡改的特点,提升了财务记录的安全性。文章介绍了数字转大写的原理和实现方式,包括1至10数字和位数单位的映射字典,以及特殊情况的处理。此外,描述了这一功能如何在编程中实现,通常封装成函数,用于财务软件或银行系统中。解压提供的示例程序或代码库,用户可以了解实现细节或直接应用。 阅读详情

在财务类的开发中,常用到数字和大写汉字的转换,个人写了一个方法,希望可供参考:

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

public class Number_ChineseDemo {

	public static void main(String[] args) {
		//测试数据
		String numString="53621452454651";
		String chineseNumberString=getChineseString(numString);
		System.out.println(chineseNumberString);

	}

	public static String getChineseString(String numString) {
		// 壹贰叁肆伍陆柒捌玖零
		Map<Integer, String> numStr = new HashMap<Integer, String>();
		numStr.put(1, "壹");
		numStr.put(2, "贰");
		numStr.put(3, "叁");
		numStr.put(4, "肆");
		numStr.put(5, "伍");
		numStr.put(6, "陆");
		numStr.put(7, "柒");
		numStr.put(8, "捌");
		numStr.put(9, "玖");
		numStr.put(0, "零");
		//
		Map<Integer, String> strMap = new HashMap<Integer, String>();
		strMap.put(1, "元");
		strMap.put(2, "拾");
		strMap.put(3, "佰");
		strMap.put(4, "仟");
		strMap.put(5, "万");
		strMap.put(6, "拾");
		strMap.put(7, "佰");
		strMap.put(8, "仟");
		strMap.put(9, "亿");
		strMap.put(10, "拾");
		strMap.put(11, "佰");
		strMap.put(12, "仟");
		strMap.put(13, "万");
		strMap.put(14, "拾");

		StringBuilder numSBuilder = new StringBuilder(numString);
		numString = numSBuilder.toString();
		while (numString.startsWith("0")) {
			numSBuilder.deleteCharAt(0);
			numString = numSBuilder.toString();
		}
		char[] numchars = numString.toCharArray();
		StringBuilder sBuilder = new StringBuilder();
		for (int i = 0; i < numchars.length; i++) {
			int num = Integer.parseInt(numchars[i] + "");
			int index = numchars.length - i;
			if (index == numchars.length - 1) {
				if (num == 0) {
					if (i < numchars.length - 1) {
						if (Integer.parseInt(numchars[i - 1] + "") != 0) {
							sBuilder.append(numStr.get(num));
						}
					}
				} else {
					sBuilder.append(numStr.get(num));
					sBuilder.append(strMap.get(index));
				}

			} else {

				if (index % 4 == 1) {
					if (num == 0) {
						sBuilder.append(strMap.get(index));
					} else {
						sBuilder.append(numStr.get(num));
						sBuilder.append(strMap.get(index));
					}
				} else if (index % 4 == 2) {
					if (num == 0) {
						if (i < numchars.length - 1) {
							if (Integer.parseInt(numchars[i + 1] + "") != 0) {
								sBuilder.append(numStr.get(num));
							}
						}
					} else {
						sBuilder.append(numStr.get(num));
						sBuilder.append(strMap.get(index));
					}
				} else if (index % 4 == 3) {
					if (num == 0) {
						if (i < numchars.length - 2) {
							if (Integer.parseInt(numchars[i + 1] + "") != 0
									&& Integer.parseInt(numchars[i + 2] + "") != 0) {
								sBuilder.append(numStr.get(num));
							}
						}
					} else {
						sBuilder.append(numStr.get(num));
						sBuilder.append(strMap.get(index));
					}
				} else {
					if (num == 0) {
						sBuilder.append(numStr.get(num));
					} else {
						sBuilder.append(numStr.get(num));
						sBuilder.append(strMap.get(index));
					}
				}

			}
			// System.out.println(sBuilder.toString());
		}
		return sBuilder.toString();
	}
}

MySQL函数-数字转换为大写中文 MySQL函数 数字转中文 非金额 处理数据类型 decimal(21,6) 立即下载

相关推荐

jquery 数字转换成中文大写

这是一个简单的数字转换成中文大写,不复杂,逻辑也比较简单,希望对初学者有些用处

如何把数字转为大写的汉字

今天在财务跑账。财务的妹纸让我填大写的数字,瞬间不知道怎么填,对比着提示单,一个字一个字写了下来。 看着财务妹纸微笑着迷妹一般的望着我,我不仅陷入了沉思.......干脆写个JavaScript代码,来转换数字为大写的汉字吧。 说干就干~! 第一步:构造数据。雷打不同的数据,自然使用const定义为常量。 const dataArr = ["零","壹","贰","叁","肆","伍"...

九天翔龙的技术博客 1641

用C++编写数字转换成汉字大写的程序

受人委托所作,仍有许多不足,希望与大家一起探讨,一起学习,本人将洗耳恭听

将数字转为中文金额的大写方式(C++版)

/**   * 程序目的:   *   从命令行接收一个数,并将其转化为中文金额的大写方式(C++版)   * 例如 123.45 --> 壹佰贰拾叁元肆角伍分   * @author LovinChan   *   *   前一段时间做了个 Java 版的。突然有天心血来潮做个 C++ 版本的,实现的功能   * 跟 Java 版本的没什么区别,不过由于我对 C++ 的了解还不是很

u010944926的专栏 1万+

pb_函数_将小写数字转换成大写数字

pb 小写数字转换成大写数字,支持到千万亿.

将数字转为中文金额的大写方式(Java版)

将数字转为中文金额的大写方式(Java版)

如何把数字转换成汉字

/**    * @author ja颂  * 把数字1-1亿换成汉字表述,如:123-&gt;一百二十三 * @param [num] $num [数字] * @return [string] [string] */ function numToWord($num) { $chiNum = array('零...

resilient的博客 1万+

数字转大写汉字(壹贰叁).rar

在金额转化的时候可能会用到由阿拉伯数字转换后成中文数字的时候比如汇款的时候可能要求金额大写,汇款转账的时候提示所输入的金额用汉字表达

JS将数字金额转换为大写人民币汉字

代码如下: 1 function convertCurrency(money) { 2 //汉字的数字 3 var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'); 4 //基本单位 5 var cnIntRadice = new Array('', '拾', '...

Quber 2398

MOS管开关设计知识-(五种MOS管开关电路图方式)

在使用MOS管设计开关电源或者马达驱动电路的时候,大部分人都会考虑MOS的导通电阻,最大电压等,最大电流等,也有很多人仅仅考虑这些因素。这样的电路也许是可以工作的,但并不是优秀的,作为正式的产品设计也是不允许的。 下面是我对MOSFET及MOSFET驱动电路基础的一点总结,其中参考了一些资料,非全部原创。包括MOS管的介绍,特性,驱动以及应用电路。 1、MOS管种类和结构 MOSFET管是FET的...

树卡花 7万+

pikachu靶场: 暴力破解第四关(token防爆破)

Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个 Token 同时将此 Token 返回给客户端。此外,Token 是有时效的,一段时间之后或下一次请求时用户需要重新验证。

X_shiguang的博客 1720

将金额数字转换为汉字大写金额

DATA: I_INPUT  TYPE  BSEG-DMBTR , "金额数字          O_OUTPUT) TYPE  STRING.        “金额汉字   DATA:          V_S00(2) VALUE '零',          V_S01(2) VALUE '壹',          V_S02(2) VALUE '贰',          V_S0

心丨悦 的专栏 1381

Proteus 8.17安装部署全指南:避坑、汉化与STM32库配置

Proteus是一款广泛用于单片机仿真与电路设计的EDA工具,其核心价值在于支持嵌入式系统原型验证与教学实践。Proteus 8.17版本重构了许可证机制(LIC Engine)、依赖环境(VC++ 2019/NET 4.8)及路径加载逻辑,导致传统安装方法失效。掌握正确安装部署流程,是保障原理图绘制、VSM仿真(如51/STM32/ESP32)及外设波形观测(OLED、SPI、ADC)稳定运行的前提。本文聚焦Windows平台下零失败安装路径选择、权限配置、汉化实施与高频器件(如STM32F103)元件库

weixin_33377602的博客 402

python数字转换为大写中文_python 人民币数字转汉字大写金额

1 '''2 人民币数字转大写汉字3 '''45 #coding: utf-86 importwarnings7 from decimal importDecimal89 def cncurrency(value, capital=True, prefix=False, classical=None):10 '''11 参数:12 capital: True 大写汉字金额13 F...

weixin_39791386的博客 1073

手把手教你学Simulink——基于Simulink的变换器老化预测与数字孪生(Digital Twin)

这不仅是技术的演进,更是从“事后救火”到“事前预言”的降维打击。:通过本文的实战演练,你不仅掌握了功率变换器“电气-热-老化”多物理场耦合的建模哲学,更深刻领悟了如何将高深的随机过程(粒子滤波)降维成可落地、可量产的工程工具;:起初,由于数据量少,粒子滤波器预测的剩余寿命(RUL)置信区间(95%)非常宽泛(如 1000~2000小时)。在工业4.0与智能制造的浪潮下,功率变换器(如光伏逆变器、车载OBC、服务器电源)不再是孤立的硬件,而是具备“自我感知”与“寿命预知”的智能节点。

MHD0815的博客 297

UG NX与PLC-1500的在环虚拟测试

TIA、PLCSIM、NetToPLCsim、KEPServerEX以及UG NX的在环虚拟测试

lvtlvtlvtlvt的博客 4220

数字金额转换为大写人民币汉字

// 数字金额转换为大写人民币汉字 convertCurrency (money) { // 汉字的数字 var cnNums = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'] // 基本单位 var cnIntRadice = ['', '拾', '佰', '仟'] // 对应整数部分扩展单位 ...

qq_43515724的博客 969

RT-DETR算法优化改进:Backbone改进 | HGBlock完美结合PPHGNetV2 GhostConv

GhostConv助力RT-DETR ,HGBlock与PPHGNetV2 GhostConv完美结合

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 2909

阿拉伯数字转换为汉字大写数字

阿拉伯数字转换为汉字大写数字: 首先需要建立两个视图: create view V_HZNumber as SELECT 0 F1,'零' F2,'个' F3 UNION SELECT 1 ,'壹' ,'拾' F3 UNION SELECT 2 ,'贰' ,'佰' F3 UNION SELECT 3 ,'叁' ,'仟' F3 UNION ...

\\\布谷鸟///的专栏 1656

Python爬虫教程:抓取Android或iOS应用中的数据

随着智能手机的普及,移动应用程序已经成为我们生活中不可或缺的一部分。从社交媒体、在线购物到金融服务和健康管理,几乎所有领域都有相应的手机应用程序(App)服务用户。而这些应用程序通常会存储大量的数据,例如用户行为、产品信息、订单记录等。如果我们能有效地抓取这些数据,可以为数据分析、商业智能、用户行为分析等提供有力支持。本文将重点介绍如何使用Python爬虫技术抓取Android或iOS应用中的数据,尤其是如何从这些应用的后端接口、存储、或网页中提取数据。我们将探讨如何通过反向工程技术访问移动应用中的API接

2201_76125261的博客 801

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

c语言的小写数字,C语言 小写数字转换大写汉字

C语言小写数字转换大写汉字0ewrcfuss2014.02.22浏览143次分享举报这是一段代码,小数点后的怎么实现?#include #define MAX 16void pos(int n,int m){int x,y;x = n/4; //用来判断万、亿。。y = n%4;if(m !=0){switch(y){case 2:printf("拾");break;case 3:printf(...

weixin_42523552的博客 576

Statistics and Machine Learning Toolbox

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

万内整数数字转换大写汉字 vba实现

万内整数数字转换大写汉字 vba实现 先上代码 Sub test() Dim a(1 To 10) As String '大写汉字数组 Dim tmpStr As String '提取原单元格字符串 Dim count(1 To 4) As String '单位数组 Dim num As Integ...

风茶 691

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

vue将数字转换为汉字大写

smalltoBIG(price) { let fraction = ['角', '分']; let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']; let unit = [['圆.', '万,', '亿,'], ['', '拾', '佰', '仟']]; let head = price < 0 ? '欠' : ''; price = Math.a.

Master_Tang的博客 2612

python数字2大写汉字转换(金额转换)

x=input("") #代码开始 dict_num = {"0":"零" ,"1":"壹" ,"2":"贰" ,"3":"叁" ,"4":"肆" ,"5":"伍" ,"6":"陆" ,"7":"柒" ,"8":"捌" ,"9":"玖" ,"10":"拾"} dict_danwei = ["","拾","佰","仟"] dict_danwei2 = ["元","万","亿","兆"] x2 = x [::-1] strr = "" i = 0 # 对字符串做转换 for ii in x2: if .

北海几经夏的博客 2515

数字转换成大写汉字

#region 数字转换大写    private string dxnum(string strnum)    {        if (string.IsNullOrEmpty(strnum))        {            return "";        }        else        {            string strResult = "";            string[] strSZ = new string[strnum.Length];       

MrLee_的专栏 715
上一篇: System类的getProperties()和getProperty(String)
下一篇: 初始的web.xml
编程Thinker
博客等级 码龄12年 96粉丝 120原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值