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. c语言字符串机考题,2016全国计算机二级《C语言》机考试题及答案
  2. Openresty最佳案例 | 第1篇:Nginx介绍
  3. Flutter Web实战项目打造真正跨平台应用(windows,android,ios,linux,macos,web)
  4. python mysql library popular_python之mysql入门详解(四)
  5. ptaa乘以b_《C语言程序设计》实验作业--PTA顺序结构练习
  6. python全局变量的声明和使用_Python二级(07)——函数和代码复用
  7. 在Salesforce中调用外部系统所提供的的Web Service
  8. androidentity什么用_Android multipartentity的用法
  9. stb_image 读写
  10. python是轻量级语言吗_python socket 轻量级服务器详解
  11. 20191121每日一句
  12. 在 SELECT 查询中使用分组集
  13. iChart--地图显示人口统计
  14. html5 逐帧播放 代码,html5-video – 使用媒体源扩展进行逐帧解码
  15. linux端口利用入侵,利用samba服务漏洞入侵linux主机
  16. word2016安装mathtype之后工具栏无显示
  17. 十五个AI图像放大工具
  18. Attrbute value muster
  19. 报表相关的同比和环比
  20. windows xp 驱动开发(十八) USB驱动程序开发用到的工具总结

热门文章

  1. 滴滴当年重创的安全事件,也会重创货拉拉吗?
  2. WeChat 微信公众号开发步骤
  3. R 和 Rstudio 在线更新
  4. HTML+PHP搭建一个生物数据增删查改网站
  5. Word如何操作压缩图片?干货经验!怎么在Word中压缩图片?
  6. 记录软考上午题1计算机系统之1.2 计算机体系结构及真题
  7. 解决Linux“Device is busy”与磁盘只读
  8. Android生日礼物(含拼图游戏,背景音乐,自动拨号等功能实现)--根据代码规范修改注释以及定义
  9. Nginx官方文档(十一)【HTTP之ngx_http_core_module】
  10. 安装python卡到不动了_pip卡住不动的解决方案