博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数字转换为汉字小算法
阅读量:4686 次
发布时间:2019-06-09

本文共 1398 字,大约阅读时间需要 4 分钟。

/**	 * 将数字转换成相应的汉字	 * 	 * @param number	 *            数字	 * @return 相应的汉字	 */	public static String intToChinese(int number) {		char[] val = String.valueOf(number).toCharArray();		int len = val.length;		StringBuilder sb = new StringBuilder();		for (int i = 0; i < len; i++) {			int n = Integer.valueOf(val[i] + "");			boolean isZero = n == 0;			String unit = units[(len - 1) - i];			if (isZero) {				if (i != len - 1 && i != 0 && '0' != val[i + 1]) {					sb.append(numArray[n]);				}			} else {				sb.append(numArray[n]);				sb.append(unit);			}		}		return sb.toString();	}	/**	 * 将double类型转换为汉字	 * 	 * @param number	 *            double类型数据	 * @return 相应的汉字	 */	public static String doubleToChinese(double number) {		String numberStr = String.valueOf(number);		int decIndex = numberStr.indexOf(".");		int integer = Integer.valueOf(numberStr.substring(0, decIndex));		String dec = numberStr.substring(decIndex + 1);		return intToChinese(integer) + "." + decimalToChinese(dec);	}	/**	 * 将小数部分转换为汉字	 * 	 * @param decimal	 *            小数部分	 * @return 相应的汉字	 */	private static String decimalToChinese(String decimal) {		char[] val = 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();	}

转载于:https://www.cnblogs.com/liguangsunls/p/7353193.html

你可能感兴趣的文章
ubuntu搭建nodejs生产环境——快速部署手册
查看>>
数据挖掘引论
查看>>
浅入深出Vue:工具准备之PostMan安装配置及Mock服务配置
查看>>
Tomcat6启用Gzip压缩功能
查看>>
Java字节码浅析(二)
查看>>
Vue选项卡
查看>>
http协议和四个层之间的关系
查看>>
(3)剑指Offer之数值的整数次方和调整数组元素顺序
查看>>
MongoDB学习笔记(索引)
查看>>
iOS - UIView
查看>>
VIM7.3设置(for Windows)
查看>>
[bzoj 1143]最长反链二分图最大匹配
查看>>
SpringBoot(一)
查看>>
Azure Powershell script检测登陆并部署ARM Template
查看>>
SSO
查看>>
【LeetCode刷题系列 - 003题】Longest Substring Without Repeating Characters
查看>>
常用git命令
查看>>
深入了解HTTP协议、HTTP协议原则
查看>>
软件开发者最重要的四大技能(转)
查看>>
redis集群【转】
查看>>