`
why_rj
  • 浏览: 25850 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

数字转大写格式

 
阅读更多

做项目中遇到 数字 需要转化为 大写汉字 的问题,

 

如 数字987654321,转成大写的:玖亿捌仟柒佰陆拾伍万肆仟叁佰贰拾壹。

 

我看网上的这种问题基本都是在做计算金额的填写时使用,我此处不需要这些,所以也就没有做成金额问题,等有时间了再

 

修改一下。下面的是代码,有时间的话再修改一下,感觉不太好,但能实现基本功能,就是在拾万、佰万、仟万、亿、拾亿

 

遇零需要的特殊处理。

 

看到网上基本都是采用字符串的形式进行处理,我这里依然采用数据形式,处理的时候遇零有些麻烦。

 

代码如下:

public static StringBuffer intForString(int num){
		 String[] CN = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"}; 
		 
		 int[] t1 = {10,100,1000,10000,100000,1000000,10000000,100000000,1000000000};
		 String[] temp = {"拾","佰","仟","万","拾","佰","仟","亿","拾"};
		 String[] temp2 = {"拾","佰","仟","万","拾万","佰万","仟万","亿","拾亿"};

		 int flag1 = 0;
		 int flag2 = 0;
		 
		 StringBuffer cn = new StringBuffer();   
		 
		 if(num < 0){
			 cn.append("此方法不支持负数处理");
			 return cn;
		 }else if(num > 2147483647){
			 cn.append("此方法为int型数值,最大不能超过其范围2147483648");
			 return cn;
		 }
		 
		 if(num < 10){
			 cn.append(CN[num]);
		 }
		 
		 for (int i = temp.length; i >= 0; i--) {
			 
			 if(  i >= 1 && num >= t1[i - 1]){
				
				 flag1 = num/t1[i-1];
				 flag2 = num%t1[i-1];
				 
				 if(flag1 < 10 && flag1 != 0){
					 cn.append(CN[flag1]);
					 
					 if(i>=2 && flag2 < t1[i -2]){
						 cn.append(temp2[i-1]);
						 if(flag2 != 0){
							 cn.append(CN[0]);
						 }
					 }else{
						 cn.append(temp[i-1]);
					 }
				 }
				 
				 if(flag2 < 10 && flag2 != 0){
					 cn.append(CN[flag2]);
				 }
				 
				 num = flag2;
			 }
	     } 
		 
		 return cn;
	}

 

分享到:
评论
1 楼 bardo 2011-04-17  
建议看看这一个

http://bardo.iteye.com/blog/983559

相关推荐

    易语言数字转换汉字大写

    在编程领域,尤其是在中文编程环境中,有时我们需要将阿拉伯数字转换为汉字...通过深入理解易语言的语法和数据处理方式,我们可以在此基础上扩展更多功能,比如支持更大范围的数字转换,或者增加自定义的格式化选项。

    Android中数字转中文,金额转大写

    在Android开发中,有时我们需要将数字转换为中文或者将金额以大写的格式显示,这在财务应用或一些需要中文表示数字的场景中尤其常见。本文将深入探讨如何在Android环境中实现这一功能,包括数字转中文以及数字金额转...

    sql server阿拉伯数字转大写中文存储过程

    SQL Server 是一个功能强大且广泛应用的关系数据库管理系统,而阿拉伯数字转大写中文是一个常见的需求,例如,在财务报表、发票printing等应用场景中,需要将阿拉伯数字转换为大写中文以满足特定的格式要求。...

    数字转大写 数字转大写

    一般是金额需要转成大写,这个主要就是处理数字转大写功能的。 一般是金额需要转成大写,这个主要就是处理数字转大写功能的。

    小写数字转换大写数字

    在IT领域,尤其是在财务软件开发、数据处理以及会计系统中,将小写数字转换成大写数字是一项常见的需求。这通常涉及到将阿拉伯数字(小写)转化为汉字大写,以便于财务报告、发票和正式文档的清晰性和准确性。在中文...

    java将数字转换成大写字母

    Java 中实现数字金额到中文大写字符的转换 Java 中实现数字金额到中文大写字符的转换是指将阿拉伯数字转换成中文大写的过程。本文将详细介绍 Java 实现数字金额到中文大写字符的转换的知识点。 知识点一: 数字...

    excel 纯函数 数字转换大写 数字转换财务大写 数字转换中文 数字转换汉字

    excel 纯函数 数字转换大写 数字转换财务大写 数字转换中文 数字转换汉字,里面有详细的介绍,非常适合初学者,操作简单方便,易学易用,希望能给您带来帮助。 适合excel2000及以上版本。

    c# 数字小写转大写

    该工具类用于支持小写数字转化成大写,比如11转换将变成壹拾壹,支持不限制位数 最高单位为亿,里面有详细的注释 方便您自行修改某一些细节问题。

    c# 将数字转换为大写

    在C#编程中,将数字转换为大写通常涉及到字符串操作和数字格式化。这是因为数字本身没有大小写的概念,我们所说的“大写”实际上是指数字转换为字符串后,按照特定的规则(例如阿拉伯数字的英文表示)将其字符转为...

    人民币数字转大写.java

    人民币数字转大写.java

    阿拉伯数字转大写

    ### 阿拉伯数字转大写:一种实用的转换方法 #### 背景介绍 在财务、法律以及正式文档等场景下,通常需要将阿拉伯数字(即我们日常使用的0-9数字)转换为汉字大写形式。这种转换不仅能够增加文档的专业性,还能在...

    数字金钱转换成中文大写

    中文大写的数字形式是正式文件和财务报表的标准格式,能够提高金额表述的清晰度和安全性。本文将详细介绍如何将数字金钱转换成中文大写,并提供相关方法和技术。 一、数字金钱的中文大写规则 1. 单位对应:数字的...

    c#数字转大写

    ### C# 数字转大写实现方法解析 在日常开发工作中,经常需要将数字转换成汉字大写形式,尤其在财务、票据等场景下尤为重要。本文将深入探讨如何使用C#语言来实现数字到大写字体的转换,并通过具体代码示例进行详细...

    数字转大写实例 人民币转大写实例

    综上所述,"数字转大写实例 人民币转大写实例"涉及到的是编程中处理数字和货币格式化的问题,尤其是中文环境下对数字和货币单位的正确转换,这在财务系统和相关应用开发中是必不可少的知识点。通过理解和掌握这些...

    常用SQL处理语句\最新数字转大写SQL函数

    本文将深入探讨“常用SQL处理语句”中的一个特定知识点——“最新数字转大写SQL函数”,这一功能在财务系统、银行应用以及任何需要将数值金额转换为大写形式显示的场景中尤为关键。 ### 数字转大写的功能意义 数字...

    Java人民币金额数字转换成大写

    Java 人民币金额数字转换成大写 Java 人民币金额数字转换成大写是 Java 面试中最常见的问题之一。本文将详细介绍如何使用 Java 实现人民币金额数字转换成大写的解决方案。 Java 中的 NumberFormat 类 在 Java 中...

    阿拉伯数字转大写汉字

    ### 阿拉伯数字转大写汉字 #### 概述 在中文环境中,将阿拉伯数字转换为大写汉字是一项非常实用的功能,尤其是在财务、银行系统等需要将金额以大写形式显示的场合。例如,当需要在支票或发票上填写金额时,通常会...

    js 把阿拉伯数字转成中文大写

    前台页面,通过js转化成中文大写,阿拉伯数字转成中文大写

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

    ### pb_函数_将小写数字转换成大写数字 #### 概述 本文档介绍了一个PB(PowerBuilder)函数,该函数用于将阿拉伯数字(小写数字)转换为中文大写数字。此功能在财务、银行以及其他需要精确且正式表示金额的场景中...

    英文 数字 转 大写

    把阿拉伯数字转换为英文,方便准确!适合签写外国合同时的金额大写转换,防止人为因素失误,非常非常好用

Global site tag (gtag.js) - Google Analytics