#简单实现数字转换为汉字项目 (留给自己用的)
2017-05-28 22:14
225 查看
简单实现数字转换为汉字项目
因为有将数字转换成汉字的需求,就写了个简单的实现案例,考虑到现实生活里很少有十万以上的需求,就将范围写在十万以下。
/** * 此Demo提供了将数字转化为汉字的方法 * @author Bacchusgift * */ public class NumsToWords { public static void main(String[] args) { int a = 10101; System.out.println(changeNumToString(10101)); } /* 运行结果:一万零一百零一 */ /** * 传入一个五位数,返回中文五位数 * @param i * @return */ public static String motifyNum(int i){ String str = null; if(i<99999){ str = changeNumToString(i); } char[] array = str.toCharArray(); ArrayList<Character>arr = new ArrayList<>(); for (int j = 0; j < array.length; j++) { arr.add(array[j]); } for (int j = 0; j < arr.size(); j++) { if(arr.get(j)=='零'&&j!=arr.size()-1){ arr.remove(arr.get(j+1)); } } for (int j = 0; j < arr.size()-1; j++) { if(arr.get(j)=='零'&&arr.get(j+1)=='零'){ arr.remove(j); j--; } } if((arr.get(arr.size()-1))=='零'){ arr.remove(arr.size()-1); } String str2 = ""; for (Character character : arr) { str2 += character.charValue(); } return str2; } /** * 没有修饰的方法 * @param i 数字 * @return 未尽格式化后的汉字(需要处理封后才可以使用) */ private static String changeNumToString(int i){ String nums []= {"零","一","二","三","四","五","六","七","八","九"}; String lagerNum [] ={"","","十","百","千","万","亿"}; /* 此处的specialNum是为了汉语习惯省略一十一、一十二这样的说法。没有使用,故注释掉 String specialNum[] ={"十","十一","十二","十三","十四","十五","十六","十七","十八","十九"}; */ int length = Integer.toString(i).length(); System.out.println(length); String s =""; if(length<6){ ArrayList<Integer> indexs = new ArrayList<>(); indexs.add(0); indexs.add(1); int temp =1; for (int index = 1; index < length; index++) { temp *= 10; indexs.add(temp); } System.out.println(indexs); for (int j = length; j >0; j--) { s += nums[i/indexs.get(j)%10]+lagerNum[j]; } } return s; } }
相关文章推荐
- 算法_数字转换为汉字数值_自己写了好多种_自认这是最简单的算法_
- 自己写的实现数据库事务的简单方法ExecuteSqlTran()
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- 自己动手简单实现vbb的URL静态化
- 管理一个项目团队的问题就是要实现以十当一,而不是以一当十!世界上没有任何两个人是完全相同的,任何人管理自己的方式也没有完全一样的。因而以一当十的英雄式的工作方式不难实现,难的是把这些能以一当十的英雄聚到一起,变成以十当一的团队工作方式
- 自己动手实现一个简单的string类(三)
- 自己写的实现数据库事务的简单方法ExecuteSqlTran()
- 如何在自己的项目中实现 Fluent Interface(流畅接口)
- 简单实现Silverlight项目和UserControl的多级切换
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- spring有自己的视图可以实现pdf导出,但是获取pdf总页数太麻烦了,大家有简单的方法吗?
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- 防止模拟键盘一类工具操作自己的系统的“简单实现”
- js正则实现的密码框简单制作,还可以替换成自己想用得符号
- Win tc 1.9.1下(简单实现)中文汉字输出!!
- 自己写的实现数据库事务的简单方法ExecuteSqlTran()
- 汉字转换成Unicode,简单的java实现方法
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- 自己如何实现简单的http服务器
- [原] 自己实现简单的XML序列化和反序列化