java实现阿拉伯数字转换为汉字数字源代码
2015-10-09 13:30
621 查看
package bin; /** * @author Elsa * @param args * @param 2013-1-21 */ public class DoubleTest { static String[] units = { "", "十", "百", "千", "万", "十万", "百万", "千万", "亿", "十亿", "百亿", "千亿", "万亿" }; static char[] numArray = { '零', '一', '二', '三', '四', '五', '六', '七', '八', '九' }; /** * 测试 * @param args */ public static void main(String[] args) { int num = 234234324; String numStr = foematInteger(num); System.out.println("num= " + num + ", convert result: " + numStr); double decimal = 12312; System.out .println("============================================================"); String decStr = formatDecimal(decimal); System.out.println("decimal= " + decimal + ", decStr: " + decStr); } private static String foematInteger(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 ); } } else { sb.append(numArray ); sb.append(unit); } } return sb.toString(); } /** * 对于double类型的的装换 * * @param decimal * @return */ private 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 = foematInteger(integ) + "." + formatFractionalPart(dec); return result; } /** * 对整数类型的转换 * * @param decimal * @return */ private 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 ); } return sb.toString(); } }
相关文章推荐
- 浅谈JAVA集合框架
- Java基础:JVM运行机制
- 枚举类
- 链表的各种操作java版本
- spring 学习
- Java 基础:Java语言运行机制
- springMVC记录系统日志的几种方式
- 用Java语言实现单向链表的方法
- Java核心技术第5章(3)
- Java Deadlock Example and How to analyze deadlock situation
- 如何实现用Java编写程序,设计一个模拟电梯运行的类
- java中转换英语日期为常用格式,例:"Jun 20, 2014 8:56:14 PM";
- 关于Eclipse输入不了中文问题
- servlet 从java中如何获取参数
- Java基础知识强化之IO流笔记33:转换流之InputStreamReader的使用
- HDU1033 Eage(java)
- hibernate3和spring3集成无法自动建表的原因
- Jython引用Java类
- Spring2.5.4整合quartz1.6.0定时框架
- [转载]Java中hashCode与equal方法详解