package com.test;

public class NumberUtils {

private static final String[] UNITS = { "", "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千", };

private static final String[] NUMS = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九", };

/**

* 数字转换成中文汉字

* @param value 要转换的数字

* @return 返回数字转后的汉字字符串

*/

public static String number2Chinese(int value) {

String result = ""; //转译结果

for (int i = String.valueOf(value).length() - 1; i >= 0; i--) {//String.valueOf(value) 转换成String型得到其长度 并排除个位,因为个位不需要单位

int r = (int) (value / Math.pow(10, i));//value / Math.pow(10, i) 截位匹配单位

result += NUMS[r % 10] + UNITS[i];

}

result = result.replaceAll("零[十, 百, 千]", "零");//匹配字符串中的 "零[十, 百, 千]" 替换为 "零"

result = result.replaceAll("零+", "零");//匹配字符串中的1或多个 "零" 替换为 "零"

result = result.replaceAll("零([万, 亿])", "$1");

result = result.replaceAll("亿万", "亿"); //亿万位拼接时发生的特殊情况

if (result.startsWith("一十")) { //判断是否以 "一十" 开头 如果是截取第一个字符

result = result.substring(1);

}

if (result.endsWith("零")) { //判断是否以 "零" 结尾 如果是截取除 "零" 外的字符

result = result.substring(0, result.length() - 1);

}

return result;

}

public static void main(String[] args) {

System.out.println(NumberUtils.number2Chinese(2139567804));

}

}

java 数字转换成汉字_Java-String-阿拉伯数字转换成中文汉字数字相关推荐

  1. java 英文字符 字节_3、在JAVA语言中,每个英文字符占 个字节,每个中文汉字占( )个字节。...

    [判断题]中心原子中的几个原子轨道杂化时,必形成数目相同的杂化轨道. [单选题]集合 用区间表示正确的是 ( ) [单选题]15.Java语言的类间的继承关系是 [单选题]8.编译Java Appli ...

  2. QQ汉字验证码原理(C#随机中文汉字验证码)

    摘自  http://www.itgrass.com/a/csharp/C-jq/200704/19-8441.html 用C#生成随机中文汉字验证码的基本原理 前几天去申请免费QQ号码,突然发现申请 ...

  3. Java里format什么意思_java String.Format详解

    JDK1.5中,String类新增了一个很有用的静态方法String.format(): format(Locale l, String format, Object... args) 使用指定的语言 ...

  4. java 千分位格式话_Java 字符串小数转成千分位格式

    java中需要将字符串小数转成千分位格式显示,如下代码,原理是使用正则表达式对整数位进行千分位格式化,然后小数位拼接起来.为什么要这么麻烦的处理,是因为在android程序中使用的NumberForm ...

  5. java 方法特点是什么_Java String 的特点是什么?它有哪些重要的方法?

    以主流的 JDK 版本 1.8 来说,String 内部实际存储结构为 char 数组,源码如下: public final classStringimplements java.io.Seriali ...

  6. 输入数字怎么变成大写python_Python将阿拉伯数字转化为中文大写

    利用Python将阿拉伯数字转化为中文大写,其实最麻烦的地方就是中间空多个0的问题,这种情况下,采用拆分法则,将一个大数字,先拆分成整数部分和小 数部分,再对整数部分按照仟.万.亿.兆分位拆分为四个字 ...

  7. java代码二进制转为十六进制_Java 中二进制转换成十六进制的两种实现方法

    Java 中二进制转换成十六进制的两种实现方法 每个字节转成16进制,方法1 /** * 每个字节转成16进制,方法1 * * @param result */ private static Stri ...

  8. java 转换成时间戳_Java 实例 – 时间戳转换成时间 - Java 基础教程

    Java 实例 以下实例演示了如何使用 SimpleDateFormat 类的 format() 方法将时间戳转换成时间: Main.java 文件 import java.text.SimpleDa ...

  9. java把字符转成浮点_java 字符型转换成浮点型

    1.字符串转化为整形.浮点类型 String s = "100"; //方法一 int a = Integer.parseInt(String s); Long.parseLong ...

  10. java long转换double类型_Java 将Long转换成Double类型

    Java 将Long转换成Double类型,其实很简单,调用Long类型的Long.doubleValue(): // 将数据库获取的数据进行拼接成一个月数据 public static List g ...

最新文章

  1. 关于JAVA中log4j与logslf4j打印日志用法
  2. static和不完全类型的一个例子
  3. java字节码忍者禁术
  4. launchpad乐器_请把《明日之子》里徐洋称为哆啦A洋,还有什么乐器是你不会的?...
  5. 有关linux用户和用户组管理的知识详解
  6. jedis操作set_Jedis对redis的五大类型操作代码详解
  7. Linux case 及 函数位置参数
  8. Hlg 1030 排序
  9. 如何查询redhat的版本信息
  10. YUV格式视频流文件下载
  11. Java方式实现上传微信素材
  12. Unity InControl插件 按键映射对照表
  13. pythonjson数据解析错误是什么意思_json解析错误怎么办?
  14. python event对象
  15. Python 类的继承和组合
  16. 个人信息保护法相关法律法规学习和梳理
  17. MACD金叉不绿选股公式
  18. Linux 虚拟文件系统四大对象:超级块、inode、dentry、file之间关系
  19. 用astash 画UML类图
  20. 数码管显示原理:共阴极和共阳极的区别,静态显示程序。

热门文章

  1. 【未解决】小米手环7bug;
  2. 如何巧妙运用技巧涨粉
  3. 89-Spring Cloud 微服务详解
  4. FusionInsight,让数据“慧”说话
  5. 滴普技术荟:OpenKube重塑企业统一管控平台
  6. 常见的一些:文件类型
  7. 海康工业相机常用参数修改以及使用OpenCV-Python采集图像
  8. JavaScript内置对象案例-制作年历
  9. MATLAB中FFT
  10. WPF利用CircularGauge.dll绘制电流表与电压表