1 class Student {
 2     static String[] ss = new String[]{"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
 3     static String[] mm = new String[]{"仟", "佰", "拾", ""};
 4     static String[] hh = new String[]{"", "萬", "亿", "兆","京","垓"};
 5
 6     int dd = 123456789;
 7
 8     public static void main(String[] args) {
 9         read("22222222222222222222222");
10     }
11
12     private static void read(String num) {
13         String[] strings = num.split("\\.");
14         String integer = strings[0];
15         String zhengs =readInteger(integer);
16         String xiaos="";
17         if(strings.length==2){
18             String decimal = strings[1];
19              xiaos="点"+readDecimal(decimal);
20         }
21         String xx=zhengs+xiaos;
22         System.out.println(xx);
23     }
24
25     private static String readInteger(String integer) {
26         int mark = integer.length();
27         int star = mark - 4 < 0 ? 0 : mark - 4;
28         int end = mark;
29         StringBuilder stringBuilder = new StringBuilder();
30         for (int i = 0; i <= integer.length() / 4; i++) {
31             String nn = integer.substring(star, end);
32             mark=star;
33             star = mark - 4 < 0 ? 0 : mark - 4;
34             end = mark;
35             String nn1 = readfour(nn);
36             if (!nn1.equals("")) {
37                 stringBuilder = stringBuilder.insert(0,nn1 + hh[i]);
38             }
39
40         }
41         if(stringBuilder.charAt(0) == '零'){
42             stringBuilder.replace(0, 1, "");
43         }
44         return stringBuilder.toString();
45     }
46
47     private static String readDecimal(String decimal) {
48         StringBuilder stringBuilder = new StringBuilder();
49         for (int i = 0; i < decimal.length(); i++) {
50             stringBuilder.append(ss[Integer.parseInt(decimal.charAt(i) + "")]);
51         }
52         return stringBuilder.toString();
53     }
54
55     private static String readfour(String nn) {
56         StringBuilder stringBuilder = new StringBuilder();
57         int d=4-nn.length();
58         if(d!=0){
59             for (int i = 0; i <d ; i++) {
60                 nn="0"+nn;
61             }
62         }
63         for (int i = 0; i < nn.length(); i++) {
64             if (nn.charAt(i) == '0') {
65                 stringBuilder.append(ss[Integer.parseInt(nn.charAt(i) + "")]);
66             } else
67                 stringBuilder.append(ss[Integer.parseInt(nn.charAt(i) + "")] + mm[i]);
68         }
69
70         //多个零变一个零
71         for (int i = 0; i < stringBuilder.length(); i++) {
72             if (stringBuilder.charAt(i) == '零') {
73                 if((i+1)==stringBuilder.length())
74                     continue;
75                 if (stringBuilder.charAt(i + 1) == '零') {
76                     stringBuilder.replace(i + 1, i + 2, "");
77                     i=i-1;
78                 }
79             }
80         }
81         //去掉末尾的零
82         if (stringBuilder.charAt(stringBuilder.length() - 1) == '零') {
83             stringBuilder.replace(stringBuilder.length() - 1, stringBuilder.length(), "");
84         }
85
86         return stringBuilder.toString();
87     }
88
89
90 }

转载于:https://www.cnblogs.com/hxz-nl/p/10929983.html

数字转换成中文汉字数字相关推荐

  1. java 数字转换成汉字_Java-String-阿拉伯数字转换成中文汉字数字

    package com.test; public class NumberUtils { private static final String[] UNITS = { "", & ...

  2. java 数字转大写_Java把数字转换成中文大写数字

    package com.chen.test; public class TestChinese { public static void main(String[] args) { System.ou ...

  3. python数字转汉字-Python实现把数字转换成中文

    周末在家,写了个小程序,用于将阿拉伯数字转换化大写中文.程序没经过任何优化,出没经过详细的测试,挂到网上,方便将来有需要的时候直接拿来用. #!/usr/bin/python #-*- encodin ...

  4. 把数字金额转换成中文大写数字

    //把数字金额转换成中文大写数字 function changeNumMoneyToChinese(money) { var cnNums = new Array("零", &qu ...

  5. python 把数字转换成中文大写

    def conversionString(intnumber):'''把数字转换成中文大写,例如:1->一 ,25->二十五,49->四十九Parameters----------i ...

  6. 中文格式_财务必会Excel技巧,将数字转换成中文的5种方式

    你还在纠结如何把数字转换成中文大小写吗?下面和大家一起来学习把数字转换成中文的5种方法. 方式一:NUMBERSTRING函数 语法=NUMBERSTRING(数值,选项) 数值:被转换为中文字符串的 ...

  7. js将数字转换成中文大写

    //完成将 toChineseNum, 可以将数字转换成中文大写的表示,处理到万级别,例如 toChineseNum(12345),返回 一万二千三百四十五.const toChinesNum = ( ...

  8. C语言-如何将用户输入的金额数字转换成中文大写?

    实战: 如何将用户输入的金额数字转换成中文大写? #include <stdio.h>int main() {// 输入金额转换成大写int money; // 输入数字int money ...

  9. JavaScript:将输入的一串数字转换成中文大写,最高可写12位(千亿)

    将输入的一串数字转换成中文大写,最高可写12位(千亿) 例:输入:10000,输出:壹万 输入:10010,输出:壹万零壹拾 源码: function toChineseBig(num) {// 将接 ...

最新文章

  1. 网络搜索,抵制日货的新方法
  2. hibernate 延迟加载的错误 failed to lazily initialize a collection of role
  3. SparkStreaming - 无状态与有状态 updataStateByKey
  4. 嵌入式环境搭建之NFS
  5. 3796.凑平方-AcWing题库
  6. Charles抓包工具简单教程
  7. 笔记本电脑测试性能哪个软件好,新笔记本测试如何进行 旧笔记本测试性能【图文】...
  8. Paraview—提取任意截面数据
  9. 2021年苹果ASO商店优化技巧
  10. 对于【没有苹果开发账号,只有p12文件和mobileprovision文件进行打包】文章的补充
  11. r语言决策树c4.5案例,C4.5主要思想与决策树实例
  12. python中encode和decode使用讲解与演示
  13. MapReduce论文中文版--The Google File System
  14. 对于表单提交的防止重复提交
  15. jTopo入门 简单实现拓扑图
  16. mysql 权限管理 针对表的字段 级别 授权 columns_priv表
  17. 【Linux性能分析】火焰图(Flame Graphs)的安装和基本用法
  18. python的third party llibs
  19. 魔道祖师 (作者:墨香铜臭)mobi格式下载
  20. 和与余数的和同余理解_余数与同余问题

热门文章

  1. 完美解决win7系统中IE占用CPU过高问题(转)
  2. 在win10里修改mysql的root密码
  3. [网页设计]如何在Photoshop里画虚线?
  4. android之发送短信的方法研究
  5. DiskGenius 5.4.6.1441 Portable
  6. 【学习笔记】Python编程,从入门到实践(自学python心路历程及学习笔记整理)
  7. PA2.2 PA2.3
  8. Java并发编程:并发和并行
  9. IOS UILabel 多行文字自动换行
  10. 晶振波形不是正弦波_晶振的3种输出波形,你了解吗?