文档章节

数字转换成中文 java实现

leopardlz
 leopardlz
发布于 2017/09/12 15:20
字数 204
阅读 4
收藏 0

/**
 * <p>
 * 主要思想,根据数字按四位划分为一级,第一级段位为个、十、百、千,第二级段位为万、亿、万亿。然后根据当前数所属位置来追加所属段数
 * </p>
 *
 * @author ZLi 2017-9-12
 *
 */
public class NumToChinese {
    /**
     * 第一级别段数
     */
    final static String[] units1 = { "", "拾", "佰", "仟", };
    /**
     * 第二级别段数
     */
    final static String[] units2 = { "", "万", "亿", "万亿" };
    final static String[] numEnum = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒",
            "捌", "玖" };

    public static void main(String[] args) {
        int num = 2134000123;
        System.out.println(numToChinese(num));
    }

    public static String numToChinese(int num) {
        char[] numChar = String.valueOf(num).toCharArray();
        StringBuffer sb = new StringBuffer("");
        int length = numChar.length;
        for (int i = 0; i < length; i++) {
            int mod = (length - 1 - i) % 4;
            int n = Integer.parseInt(numChar[i] + "");
            if (n == 0) {
                if (i + 1 < length && numChar[i + 1] != '0' && mod != 0) {
                    sb.append(numEnum[0]);
                }
            } else {
                sb.append(numEnum[n]).append(units1[mod]);
            }
            /**
             * 补上第二级别段数
             */
            if (mod == 0) {
                sb.append(units2[(length - i) / 4]);
            }
        }
        return sb.toString();
    }
}

 

© 著作权归作者所有

共有 人打赏支持
leopardlz
粉丝 0
博文 40
码字总数 4393
作品 0
西青
程序员
如果我们的编程替换成中文会变成怎样?

首先大概的看一下中文编码: 你以为会写中文就会编程吗?这就像你以为会写汉字就会写出好文章一样。编程是和机器沟通,因此要用机器的语言而不是人类的语言。最早的程序就是0和1的数字,不是...

全部原谅
07/03
0
0
Java--数据类型及类型转换

Java数据类型: 基本数据类型又被称为主类型,并且每个主类型都有相对应的“封装器类型”。 boolean-1位、char-4位、byte-8位、short-16位、int-32位、long-64位、float-32位、double-64位。...

SuperHeroes
01/30
0
0
LeetCode:String to Integer (atoi) - 字符串到数字的转换

1、题目名称 String to Integer (atoi) (字符串到数字的转换) 2、题目地址 https://leetcode.com/problems/string-to-integer-atoi/ 3、题目内容 英文:Implement atoi to convert a strin......

北风其凉
2015/07/31
0
0
Scala学习(三)数组相关操作

1.定长数组 如果你需要一个长度不变的始祖,可以使用Scala中的Array。例如: 2.变长数组:数组缓冲 对于那种长度有变化的数组,Java有ArrayList,C++有vector。Scala中有等效的数据结构Array...

我爱春天的毛毛雨
09/30
0
0
java基础--JDK安装、环境变量配置、工具开发第一个程序、数据类型、运算符

-----Java基础大纲----- **-----本章节-----** 1.Java语言的历史、特点及工作原理 2.JRE和JDK的介绍 3.Java运行环境和开发工具 4.Java基础语法 **-----下一章节-----** 5.条件语句 6.循环 7....

我是宁采臣
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

申请Let's Encrypt永久免费SSL证书

环境安装 1、安装git yum install git-core 2、安装python 系统自带 不用安装 只要版本大于2.7即可。 获取Let's Encrypt免费SSL证书 先停止nginx 在阿里云安全组里加入 443端口的入规则 git ...

HGMrWang
28分钟前
1
0
如何使用playframework进行更好的开发

1: 自定义基类Controller 相信刚开始使用Play的人写的Controller 都继承于 play.mvc.Controller , 但这并不是一个很好的选择,自建基类Controller可以扩展更多的功能。 1.1 验证功能。 后台...

tuerqidi
33分钟前
4
0
解决ubuntu下root用户 不能ftp登陆的问题

解决ubuntu下root用户 不能ftp登陆的问题 一般情况下,由于种种原因ftp是不让root用户远程登陆,但只要你修改以个文件就可以登陆了. 注释掉 /etc/ftpusers 中的root即可 (最后重启vsftpd serv...

15834278076
44分钟前
0
0
《JavaScript高级程序设计(第3版)》阅读笔记

第6章 面向对象的程序设计 6.2 创建对象 6.2.1 工厂模式 JavaScript创建对象(一)—— 工厂模式 6.2.2 构造函数模式 JavaScript创建对象(二)——构造函数模式 6.2.3 原型模式 JavaScript...

Bob2100
49分钟前
1
0
Windows小技巧 – Win+R提高Windows使用效率

追求效率的朋友都需要一款顺手的快速启动工具,Win 平台上有键盘流的RunZ、Listary、ALTRun、Launchy、Wox 和图标流的 Fences、Rolan、 WinLaunch 等,而 Mac 上也有 Alfred、Spotlight。 而...

QQZZFT
52分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部