数字串转中文读法串-Java实现
来源:互联网 发布:bpm软件架构 编辑:程序博客网 时间:2024/06/05 08:22
面试时被问到这个问题,遂查看相关博客,自己也作了相应的实现:
package num2rmb;public class Num2Rmb3 {/** * 处理0,1,2.。9的中文读法的 */private String[] hanArr = {"零" , "壹" , "贰" , "叁" , "肆" , "伍" , "陆" , "柒" , "捌" , "玖"};/** * 10进制的读法 */private String[] unitArr = {"十" , "百" , "千"};public static void main(String[] args) {Num2Rmb3 nr = new Num2Rmb3();nr.readNumString("1052433768");//nr.readNumString("5000");//System.out.println(Math.ceil(3.5)); //4.0}public void readNumString(String numstr){StringBuilder sb = new StringBuilder();int len = numstr.length();int count = 0;while (len > 0) //依次取出最后,以4位字符为标准取子串{int i = (len - 4) >= 0 ? (len - 4) : 0;String temp = numstr.substring(i, len);System.out.println(temp);String res = processTemp(temp, count); // 对这四个字符进行处理sb.insert(0, res); //往前将求得的字符串插入sb中len -= 4;count++; // 记录这个子串中能组成多少个 4个字符的串}System.out.println(sb);}public String processTemp(String temp, int count){String res = "";int len1 = temp.length();// 0042// 200for (int i = 0; i < len1; i++){//将每个字符转成数字int num = temp.charAt(i) - 48;if (num == 0) //如果是0{if (i == (len1 - 1)) //到了子串的最后一个字符{continue;}//如果下一个是数字字符不是0if (temp.charAt(i + 1) != '0'){res += hanArr[num];}else {continue;}}else if( i == (len1 - 1) ) { //不是0,最后一个字符res += hanArr[num];}else //{res += hanArr[num] + unitArr[len1 - i - 2];}}if (count == 1){res += "万";}else if (count == 2){res += "亿";}return res;}}
0 0
- 数字串转中文读法串-Java实现
- 数字与中文数字串互转
- Java实现浮点数转换成人民币读法字符串
- java实现浮点数人民币的汉字读法,简洁版
- java实战1——浮点数转人民币读法
- java实战1——浮点数转人民币读法
- 蓝桥杯 练习系统 数的读法 Java
- 实现浮点数转换成人民币读法字符串(Java)
- java实现浮点数转换成人民币读法字符串,希望大家多多指教!
- 阿拉伯数字的读法(JAVA实现)
- 四位数字转中文金额读法(Java疯狂讲义第4章课后练习)
- Qt unicode字串转中文
- java中读入数字转成中文读法输出
- PHP实现中文字串截取无乱码
- 数的读法
- 13.数的读法
- 数的读法-题解
- 数的读法
- Intel visual Fortran 调用 MKL
- iOS项目上传到AppStore步骤流程
- 事件分发机制
- unity3d 触屏拖拽物体代码
- Selenium提供的定位方式
- 数字串转中文读法串-Java实现
- 图解linux下top命令的使用
- 线索化二叉树C++
- android图片压缩之图片和内存基础
- c语言读取每一行,再将符合条件的写入另一个文件中。
- Android线程间通信(总)
- ubuntu下一个服务端处理多个客户端的注意事项
- iOS9适配 《AdaptationTips》
- JAVA MemCache 史无前例的详细讲解【转】