阿拉伯数字转中文(java实现)
来源:互联网 发布:时时彩四星缩水软件 编辑:程序博客网 时间:2024/05/27 01:33
直接上代码
private static final String[] CHINESE_NUMBERS = {"零", "一", "两", "三", "四", "五", "六", "七", "八", "九", "十"}; private static final ChineseUnit[] CHINESE_UNIT = {zero, ten, hundred, thousand, ten_thousand, billion, million, ten_million, hundred_mullion}; private static final String[] CHINESE_NUMBERS_2 = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"}; /** * * @param number * @return */ public static String translateNumber2Chinese(int number) { String s = String.valueOf(number); if (number <= 10) { return CHINESE_NUMBERS[number]; } Stack<NumberUnit> stack = new Stack<>(); int index = 0; for (int i = s.length() - 1; i >= 0; i --) { NumberUnit numberUnit = new NumberUnit(); numberUnit.chineseNumber = CHINESE_NUMBERS_2[Integer.parseInt(String.valueOf(s.charAt(i)))]; numberUnit.chineseUnit = CHINESE_UNIT[index]; numberUnit.originalNumber = Integer.parseInt(String.valueOf(s.charAt(i))); stack.push(numberUnit); index ++; } StringBuilder stringBuilder = new StringBuilder(); while (!stack.isEmpty()) { NumberUnit numberUnit = stack.pop(); if (numberUnit.originalNumber > 0) { stringBuilder.append(numberUnit.chineseNumber); if (numberUnit.chineseUnit != zero) { stringBuilder.append(numberUnit.chineseUnit.getValue()); } } else if (numberUnit.chineseUnit != zero) { NumberUnit nextNumber = stack.peek(); if (nextNumber != null && nextNumber.originalNumber != 0) { stringBuilder.append(numberUnit.chineseNumber); } } } return stringBuilder.toString(); } private static class NumberUnit { protected ChineseUnit chineseUnit; protected String chineseNumber; protected int originalNumber; } enum ChineseUnit { /** * */ zero("零"), /** * */ ten("十"), /** * */ hundred("百"), thousand("千"), ten_thousand("万"), billion("十"), million("百"), ten_million("千"), hundred_mullion("亿") ; private String value; ChineseUnit(String value) { this.value = value; } /** * Getter method for property <tt>value</tt>. * * @return property value of value */ public String getValue() { return value; } /** * Setter method for property <tt>value</tt>. * * @param value value to be assigned to property value */ public void setValue(String value) { this.value = value; } }
阅读全文
0 0
- 阿拉伯数字转中文(java实现)
- 调用EXCEL 实现阿拉伯数字转中文
- 阿拉伯数字金额转中文大写 (python实现)
- Java实现阿拉伯数字转换成中文大写数字,以及中文大写数字到阿拉伯数字的转换。
- Java实现阿拉伯数字转换成中文大写数字,以及中文大写数字到阿拉伯数字的转换
- java实现阿拉伯数字转人民币大写(精确到分)
- java实现中文数字与阿拉伯数字互相转换
- java实现中文数字与阿拉伯数字互相转换
- java实现中文数字与阿拉伯数字互相转换
- 转换算法(中文数字转阿拉伯数字)
- 阿拉伯数字转中文大写
- 阿拉伯数字转中文
- 阿拉伯数字转中文
- 阿拉伯数字转中文
- 阿拉伯数字转中文
- 阿拉伯数字转中文数字
- 实现阿拉伯数字变成中文大写
- 阿拉伯数字的读法(JAVA实现)
- 自顶向下,逐步求精
- JSP基础(二十四)——JSTL数据库标签
- Wasserstein GAN最新进展:从weight clipping到gradient penalty,更加先进的Lipschitz限制手法
- jar包太大 intelj 打不开 无法阅读源码
- http的get和post
- 阿拉伯数字转中文(java实现)
- HDOJ 2539 点球大战
- Spring源码分析:AOP源码解析(上篇)
- python数据结构,二分查找法的实现!
- BitMap实现
- 定时循环执行某一个脚本的方法
- Java 基础巩固:内部类的字节码学习和实战使用场景
- 阿里云安全组基本设置
- 一个前后发力里面包含的各种"劲"