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

数字金额转换成大写汉字,未完善版

    博客分类:
  • java
 
阅读更多

自己练习数组而已,以后完善。

package com.test.array;


public class Num2RMB{
	private static String[] chn={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
	private static String[] numUnit={"拾","佰","仟","万","拾万","佰万","仟万","亿"};
	private static String[] rmbUnit={"分","角"};
	
	public static String[] divide(double num){
		String[] numStrs=null;
		long intPart=(long)num;
		int decPart=(int) Math.round((num-intPart)*100);
		
		numStrs=new String[]{intPart+"",String.valueOf(decPart)};
		
		return numStrs;
	}
	
	public static String[] divide(String str){
		String[] numStrs=null;
		
		numStrs=str.split("\\.");
		
		return numStrs;
	}
	
	public static String converseIntPart(String numstr){
		String intstr="";
		int nl=numstr.length();
		for(int i=0;i<nl;i++){
			int n=numstr.charAt(i)-48;
			if((i!=nl-1)&&(n!=0)){
				intstr+=chn[n]+numUnit[nl-i-2];
			}else if(i==nl-1){
				intstr+=chn[n];
			}
		}
		intstr+="元";
		
		return intstr;
	}
	
	public static String converseDecPart(String numstr){
		String decstr="";
		int nl=numstr.length();
		for(int i=0;i<nl;i++){
			int n=numstr.charAt(i)-48;
			if(n!=0){
				decstr+=chn[n]+rmbUnit[nl-i-1];
			}
		}
		
		
		return decstr;
	}
	
	public static String wholeStr(String intpart,String decpart){
		String result=intpart+decpart;
		
		return result;
	}
	
	
	
	
	
	
	
	
	
	
	
	public static void main(String[] args){
		String[] strs1=divide(180200888.09);
		System.out.println("float to string-----------------------");
		for(String s:strs1){
			System.out.println(s);
		}
		
		
		
		String[] strs2=divide("230003100.20");
		System.out.println("string to string-----------------------");
		for(String s:strs2){
			System.out.println(s);
		}
		
		
		double target1=180200888.09;
		String target2="230003100.20";
		
		
		String[] mid1=divide(target1);
		String result1=wholeStr(converseIntPart(mid1[0]),converseDecPart(mid1[1]));
		System.out.println("------------------\n"+result1);
		

		String[] mid2=divide(target2);
		String result2=wholeStr(converseIntPart(mid2[0]),converseDecPart(mid2[1]));
		System.out.println("------------------\n"+result2);
		
		
	}
	
	
}

 

分享到:
评论

相关推荐

    mysql函数,将数字金额转成人民币大写

    在MySQL数据库中,有时我们需要将数字金额转换成人民币的大写形式,这在财务报表或会计系统中非常常见。为了实现这一需求,我们可以自定义一个函数或者利用现有的字符串处理函数。以下是一个关于如何在MySQL中实现这...

    mysql 函数,可以将数字转换为中文大写形式

    mysql 函数,可以将数字转换为中文大写形式。大写数字是中国特有的数字书写方式,利用与数字同音的汉字取代数字,以防止数目被涂改。 据考证,大写数字最早是由武则天发明,后经朱元璋改进完善。

    小写金额转换成大写金额1.01

    4. **进位规则**:当数值跨越不同单位时,需要相应地添加大写汉字,例如从个位到十位,数字1变成“壹拾”。 5. **大写金额的限制**:“萬”对应的数字是10,000,而“亿”是100,000,000。在描述中提到“最大金额萬亿...

    java传入金额(数字)转化成大写

    根据给定的文件信息,我们将探讨如何在Java中实现将输入的金额数字转换为大写的中文表示形式。这种转换在财务、银行系统等场景中非常常见,有助于提高数据的可读性和规范性。 ### Java传入金额(数字)转换成大写的...

    C#货币金额转为中文大写

    在IT行业中,尤其是在财务软件开发或者银行系统的编程中,经常需要将货币金额转换为中文大写,以便于账目的清晰性和准确性。C#作为一种广泛使用的编程语言,提供了丰富的字符串处理和数学运算功能,使得实现这一功能...

    delphi金额转换成中文大写.rar

    以下就是关于"delphi金额转换成中文大写"的相关知识点: 1. **数字与中文字符对应关系**:首先,我们需要了解数字0-9对应的中文大写字符,分别是:零、壹、贰、叁、肆、伍、陆、柒、捌、玖。小数点用“点”表示,而...

    js数字转换成大写

    此函数的主要目的是将数字类型的金额转换为符合中文大写金额规范的字符串形式,适用于显示或打印场景,如发票、收据等。 #### 函数定义与实现 函数名为`functionatoc`,接受一个参数`numberValue`,该参数是需要...

    人民币大写金额转数字源码

    在中文环境下,人民币的大写金额是法定的金融表述方式,用于避免数字混淆和欺诈。本文将详细讲解如何实现“人民币大写金额转数字”的算法,主要基于C#编程语言。 首先,我们需要了解人民币大写金额的基本规则。...

    金额小写转汉字大写最好的方法

    在财务、会计以及正式文件中,将金额从小写数字转换成汉字大写是一种常见的需求,尤其是在中国及使用汉字文化的地区。这一转换不仅涉及数字的基本转换,还牵涉到语言习惯、文化传统以及规范表达。本文旨在探讨一种...

    数字转汉语大写【未优化版】

    在IT领域,尤其是在财务软件开发或者银行系统中,经常需要将数字转化为汉字大写,用于表示金额,确保账目的清晰准确。"数字转汉语大写【未优化版】"这个项目便是实现这样一个功能,不过它仅限于处理10亿以内的整数和...

    JS 实现金额大写转换函数

    在JavaScript编程中,有时我们需要将阿拉伯数字的金额转换为中文大写的表示方式,这在财务报表、发票等正式场合非常常见。"JS实现金额大写转换函数"这个话题就是关于如何编写一个JavaScript函数来完成这样的转换。这...

    vc实现数字转大写人民币金额 ,编辑框子类化灰色提示输入

    2. 零到九的数字对应大写汉字的转换。 3. 处理每四位一组的金额,如千位、万位等,需要加上相应的单位。 4. 对于不足四位的尾数,需要添加“零”进行填充。 5. 考虑到负数的情况,可能需要在前面添加“负”字。 6. ...

    小写金额转大写

    在IT行业中,编程语言Java是广泛使用的,尤其在金融、财务等领域,经常需要将小写的金额转换为大写的汉字表示,以满足规范的财务报告需求。这个“小写金额转大写”的主题就涉及到这样的一个功能实现。在这个压缩包...

    t-sql 金额转大写

    根据提供的文件信息,可以看出这里的目标是通过T-SQL创建一个函数`usf_ChineseCost`,该函数可以接收一个浮点数作为输入参数,并将其转换为中文大写金额表示形式。接下来,我们将深入分析并解释这段代码的具体实现...

    delphi源码人民币大写转换.txt

    在日常财务处理、银行系统以及各种会计应用中,将数字金额转换成大写中文金额是一项常见需求。这种转换在合同签署、发票开具等正式场合中尤为重要,因为大写金额可以有效地防止金额被篡改。下面我们就来详细解析这段...

    excel中数字自动转换成人民币大写文字

    人民币大写的规范格式包括“壹”、“贰”等汉字,确保了金额的准确性和专业性。以下是一些关于如何在Excel中实现这一功能的知识点: 1. **使用内置函数**: Excel提供了`TEXT`函数,可以将数字转换为文本格式。...

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

    在财务领域,为了确保金额的准确无误,通常需要将数字转化为中文大写形式,以便在会计报表和合同中使用。本篇文章主要探讨的是如何使用Java实现数字到中文金额大写的转换。 首先,`Trans2RMB.java`是这个功能的核心...

    金额小写转换为大写

    在金融、会计以及其他涉及货币处理的应用场景中,将数字金额转换成汉字大写格式是非常常见的需求。这种转换不仅有助于提高数据的可读性,还能够减少因小数点误读而引发的错误。下面我们将详细解析一个用于将人民币...

    Java编程-金额小写转大写

    通过理解数字到大写汉字的映射规则,以及编写相应的转换函数,我们可以实现符合财务规范的金额显示。而`GetAmount.java`文件提供了一个实现这一功能的起点,开发者可以根据实际需求对其进行扩展和完善。

Global site tag (gtag.js) - Google Analytics