`

转:java实现 阿拉伯数字转换为汉字数字 算法

阅读更多

转载链接:http://blog.csdn.net/zhanghao_hulk/article/details/28594105

转载代码:

public class NumberFormatUtil {

	static String[] units = {"","十","百","千","万","十万","百万","千万","亿","十亿","百亿","千亿","万亿" };
	static char[] numArray = {'零','一','二','三','四','五','六','七','八','九'};

	//将整数转换成汉字数字
	public static String formatInteger(int num) {
		char[] val = String.valueOf(num).toCharArray();
		int len = val.length;
		StringBuilder sb = new StringBuilder();
		for (int i = 0; i < len; i++) {
			String m = val[i] + "";
			int n = Integer.valueOf(m);
			boolean isZero = n == 0;
			String unit = units[(len - 1) - i];
			if (isZero) {
				if ('0' == val[i - 1]) {
					continue;
				} else {
					sb.append(numArray[n]);
				}
			} else {
				sb.append(numArray[n]);
				sb.append(unit);
			}
		}
		return sb.toString();
	}
	//将小数转换成汉字数字
	public static String formatDecimal(double decimal) {
		String decimals = String.valueOf(decimal);
		int decIndex = decimals.indexOf(".");
		int integ = Integer.valueOf(decimals.substring(0, decIndex));
		int dec = Integer.valueOf(decimals.substring(decIndex + 1));
		String result = formatInteger(integ) + "." + formatFractionalPart(dec);
		return result;
	}
	
	//格式化小数部分的数字
	public static String formatFractionalPart(int decimal) {
		char[] val = String.valueOf(decimal).toCharArray();
		int len = val.length;
		StringBuilder sb = new StringBuilder();
		for (int i = 0; i < len; i++) {
			int n = Integer.valueOf(val[i] + "");
			sb.append(numArray[n]);
		}
		return sb.toString();
	}

	private static void print(Object arg0) {
		System.out.println(arg0);
	}
	
	public static void main(String[] args) {
		int num = 245000006;
		String numStr = formatInteger(num);
		print("num= " + num + ", convert result: " + numStr);
		double decimal = 245006.234206;
		print("============================================================");
		String decStr = formatDecimal(decimal);
		print("decimal= " + decimal + ", decStr: " + decStr);
	}
}

 

分享到:
评论

相关推荐

    java实现阿拉伯数字 转换为 汉字数字 算法

    java实现阿拉伯数字 转换为 汉字数字 算法

    中文数字转成阿拉伯数字 java 实现

    这个场景下,我们有一个名为“中文数字转成阿拉伯数字 java 实现”的压缩包,包含了一个实现此功能的Java包和一个单元测试类。下面我们将深入探讨这个功能的实现及其相关知识点。 首先,我们要理解中文数字和阿拉伯...

    阿拉伯数字转换为中文大写

    7. 转换算法:我们使用了一个简单的转换算法将阿拉伯数字转换为中文大写数字,并加上相应的单位。 8. 编程实践:我们通过实践了解了如何使用Java语言将阿拉伯数字转换为中文大写数字,并掌握了编程的基本技术和方法...

    java阿拉伯数字转中文数字

    Java阿拉伯数字转中文数字是指将阿拉伯数字(0-9)转换为中文数字(零、壹、贰、叁、肆、伍、陆、柒、捌、玖),在java中可以通过编写相应的算法和程序来实现。这篇文章将详细介绍java实现阿拉伯数字转换为中文数字...

    java实现阿拉伯数字转中文

    在Java编程语言中,将阿拉伯数字转换为中文数字是一项常见的需求,特别是在处理中文文本或进行中文数字输入输出时。这个任务可以通过编写特定的算法或利用已有的类库来完成。以下是一个详细的步骤介绍和相关知识点...

    java 阿拉伯数字转化中文大写

    根据提供的文件信息,可以看出这是一个Java程序,用于将阿拉伯数字转换为中文大写形式,并且能够处理包含小数点的情况。接下来我们将对这个程序的关键部分进行详细的解析与解释。 ### 核心知识点概述 1. **数据...

    中文数字转换阿拉伯数字.rar

    在IT领域,中文数字转换为阿拉伯数字是一项常见的需求,特别是在数据处理、文本分析以及自然语言处理(NLP)等场景中。中文数字以其独特的字符形式,如“一”、“二”、“三”到“十”、“百”、“千”等,与阿拉伯...

    一种阿拉伯数字(含小数部分)转中文汉字的java算法

    一种阿拉伯数字(含小数部分)转中文汉字的算法,例如通过键盘输入 123011221.1201,则输出 一亿二千三百零一万一千二百二十一点一二零一(或 壹亿贰仟叁佰零壹万壹仟贰佰贰拾壹点壹贰零壹)。

    阿拉伯数字转大写汉字

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

    阿拉伯数字转成中文字

    在计算机编程和处理文本数据时,将阿拉伯数字转换为中文汉字是常见的需求,尤其是在中文界面或者需要对中文用户展示数字时。阿拉伯数字是国际通用的计数系统,包括0到9这十个符号,而中文数字则是用汉字表示的计数...

    java金额数字转中文工具类详解

    Java金额数字转中文工具类的核心思想是将数字按照中文的计数单位进行分割,并将各个部分转换为对应的汉字。例如,数字12345.67会被分割为12345和0.67两部分,其中12345会被转换为“一万二千三百四十五”,0.67会被...

    num-to-rmb-tool:一种用于将阿拉伯数字转换为中文数字的中文金融工具

    总的来说,"num-to-rmb-tool"是一个针对中文金融环境开发的实用工具,它巧妙地结合了Java8的强大功能,解决了中文数字与阿拉伯数字转换的问题,为金融行业提供了便捷、可靠的解决方案。无论是财务报表的编制,还是...

    JAVA版数字转中文念法

    在日常生活中,我们经常需要将阿拉伯数字转换成中文大写形式,尤其是在财务报告、合同文档等正式场合中,这种转换尤为常见。本篇文章将详细介绍一个使用Java语言实现的数字转中文大写的程序,并对其核心代码进行解析...

    数字 转 金额 最快算法

    在IT领域,尤其是在财务软件开发或者数据处理中,将阿拉伯数字转换为中文大写金额是一项常见的任务。这个任务的重要性在于确保财务数据的准确性和规范性,因为中文大写金额可以防止欺诈行为,如篡改小写的数字。标题...

    金额汉字数字转换工具

    2. **转换算法**:实现金额汉字数字转换的算法通常包括以下几个步骤: - 防止溢出:确保输入的数字在合理的范围内,例如不超过999999999999999.99。 - 分段处理:将数字拆分为整数部分和小数部分,分别进行转换。 ...

    java中文转换

    Java编程语言在处理数字与中文字符之间的转换时,可以提供一种独特的方式来实现这种转换,尤其在需要将阿拉伯数字表示的数值转化为中文大写数字时,这样的功能显得尤为重要。例如,"123" 转换为 "壹佰贰拾叁",...

    将阿拉伯数字转化成字符

    在IT领域,尤其是在编程实践中,有时我们需要将阿拉伯数字转换为它们的中文字符表示。这个过程称为数字字符化,它在创建多语言应用、处理文化特定的数字格式或增强用户界面的可读性时非常有用。在给定的场景中,我们...

    输入数字转为大写中文字符源码

    本文通过详细分析了一个将数字转换为大写中文表示的Java程序,不仅介绍了其核心逻辑和实现方法,还讨论了可能遇到的问题及解决方案。这种类型的功能在很多实际应用场景中都有着重要的作用,因此理解和掌握其实现原理...

    数字转汉字java算法--NumberToChinese(算法源码)

    * 获得阿拉伯数字对应的中文 最大只支持到9千9百九十九亿9千9百九十九万9千9百九十九 * * @param number * 要转换的数字 * @param depth * 递归深度,使用时候直接给0即可 * @return String * ...

    tradukisto,创建一个将数字转换为单词表示的Java库。.zip

    【描述】"Trudukisto是一个基于Java 8的开源项目,它的主要功能是将阿拉伯数字转换成对应的英文单词形式,这对于开发那些需要以口语化方式显示数字的应用程序来说非常有用。例如,它可以将数字"12345"转换成"twelve ...

Global site tag (gtag.js) - Google Analytics