package com.zuidaima.test;

import java.util.HashMap;

public class dataChangZh1 {

/**

* 人民币大写单位制

*/

private static HashMap dws;

/**

* 数字对应的中文

*/

private static String[] jes;

// 初始化执行

static{

dws = new HashMap();

dws.put(-2, "分");

dws.put(-1, "角");

dws.put(0, "元");

dws.put(1, "拾");

dws.put(2, "佰");

dws.put(3, "仟");

dws.put(4, "万");//

dws.put(5, "拾");

dws.put(6, "佰");

dws.put(7, "仟");

dws.put(8, "亿");//

dws.put(9, "拾");

dws.put(10, "佰");

dws.put(11, "仟");

dws.put(12, "万");

jes = new String[]{"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};

}

/**

* 数字转换人民币大写

* @param number 数字 不支持科学数字

* @return

*/

public static String chinese(String number){

StringBuffer su = new StringBuffer();

// 整数部分

number = delInvalidZero(number);

String str = null;

// 小数部分

String decimal = null;

if(number.contains(".")){

// 截取整数位

str = number.split("\\.")[0];

decimal = number.split("\\.")[1];

}else{

str = number;

}

// 判断是否存在整数位

if(str.length()>0){

for (int i = 0; i < str.length() ; i++) {

String context = str.substring(i, i+1);

int pow = str.length()-i-1;

Integer val = Integer.parseInt(context.toString());

// 获取中文单位

String sign = dws.get(pow);

// 获取中文数字

String name = jes[Integer.parseInt(context)];

if(val==0){

if(pow%4!=0){// 删除单位

sign = "";

}

if(i < str.length()-1){

Integer val1 = Integer.parseInt(str.substring(i+1, i+2));

if(val==0&&val==val1){

name = "";

}

}else if(i == str.length()-1){

name = "";

}

}

su.append(name+sign);

}

}

// 判断是否存在小数位

if(decimal!=null){

str = decimal.substring(0,1);

if(!"0".equals(str)){

su.append(jes[Integer.parseInt(str)]+dws.get(-1));

}

if(decimal.length()==2){

str = decimal.substring(1,2);

if(!"0".equals(str)){

su.append(jes[Integer.parseInt(str)]+dws.get(-2));

}

}

}else{

su.append("整");

}

return su.toString();

}

/**

* 清理数字特殊字符

* @param str

* @return

*/

private static String delInvalidZero(String str){

if("0".equals(str.substring(0, 1))){

return delInvalidZero(str.substring(1, str.length()));

}else if(str.contains(",")){

return delInvalidZero(str.replaceAll(",", ""));

}else{

return str;

}

}

public static void main(String[] args) {

System.out.println(chinese("1234.56"));

}

}

java美元转换人民币代码,java实现人民币数字转换中文大写的工具实例代码demo分享...相关推荐

  1. java实现人民币数字转换中文大写的工具实例代码demo分享

    原文:java实现人民币数字转换中文大写的工具实例代码demo分享 http://www.zuidaima.com/share/1816208858221568.htm 刚好在项目里面用到了数字转化为 ...

  2. JAVA 纯数字/金额数字转中文大写

    有时候一些金额数字需要转成中文大写展示到发票的金额框这类地方,包括一些纯粹的数量非金额的数字的大写转换,网上看很多都是金额的,纯数字的话有些不同,这里写了一个数字转中文大写的工具类: 1:金额数字转中 ...

  3. Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)

    本文会从传统的BIO到NIO再到AIO自浅至深介绍,并附上完整的代码讲解. 下面代码中会使用这样一个例子:客户端发送一段算式的字符串到服务器,服务器计算后返回结果到客户端. 代码的所有说明,都直接作为 ...

  4. java递归实现多级菜单栏_Java构建树形菜单以及支持多级菜单的实例代码

    这篇文章主要介绍了Java构建树形菜单的实例代码(支持多级菜单),非常不错,具有参考借鉴价值,需要的朋友可以参考下 效果图:支持多级菜单. 菜单实体类: public class Menu { // ...

  5. (转载)Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)

    转载请注明出处:http://blog.csdn.net/anxpp/article/details/51512200,谢谢! 本文会从传统的BIO到NIO再到AIO自浅至深介绍,并附上完整的代码讲解 ...

  6. java单数字随机抽奖特效_jquery输入数字随机抽奖特效的简单实现代码

    简介:jQuery自定义数值抽奖活动代码是一款点击开始按钮计算机会产生玩家输入范围内的随机数,点击停止按钮,将显示数字最终结果的效果. 效果图如下: 代码如下: jQuery自定义数值抽奖活动代码 - ...

  7. 人民币转换:数字转中文大写

    考试题目和要点: 中文大写金额数字前应标明"人民币"字样.中文大写金额数字应用壹.贰.叁.肆.伍.陆.柒.捌.玖.拾.佰.仟.万.亿.元.角.分.零.整等字样填写.(30分) 中文 ...

  8. java 微信自定义菜单开发_微信公众号开发之设置自定义菜单实例代码【java版】...

    本实例是为了实现在管理后台实现微信菜单的添加删除管理. 1.首先我们需要新建一个数据库表用于存放menu菜单项 可包含的字段有id.父类id.name.排序.是否显示.类型(view.click).链 ...

  9. java jdom 设置第1行_Java通过jdom操作生成XML文件的实例代码下载

    工作需要,要生成xml文件,所以做了个小demo分享一下. 看代码吧~ main()里面没什么好说的 该写的都写了public static void main(String[] args) { // ...

  10. java 微信 摇一摇红包_微信小程序“摇一摇”的实例代码

    微信小程序并没有提供摇一摇API接口,但是提供了一个重力感应的API 「wx.onAccelerometerChange(CALLBACK)」,我们可以用这个方法来模拟微信摇一摇功能,代码如下: Pa ...

最新文章

  1. c语言计算日出日落时间_计算日出日落算法实现
  2. ADO.NET Entity Framework 学习(1) [ZT]
  3. python中一个范围怎么表示_我应该如何处理Python中的包含范围?
  4. 遍历HashMap的最佳方法
  5. Redis 热点key
  6. java 不同分辨率_java9新特性-14-多分辨率图像 API
  7. ubuntu挂起唤醒后十几秒钟就自动熄屏一次
  8. 【OJ】洛谷数组题单题解锦集
  9. “北京链安”近日更名为“中科链安”
  10. 青州市2021年高考成绩查询,2021年青州市高考状元名单资料,今年青州市高考状元多少分...
  11. Web前端开发解耦1
  12. MMC多电平变换器matlab/simulink模型
  13. 阿里百秀项目实战day1
  14. mysql中flush用法,flush 的常规用法:
  15. OSINT 和 15 大开源情报工具
  16. 幂级数和函数经典例题_幂级数的和函数怎么求,做题有什么方法吗?
  17. 图像之超简单方式实现微信头像功能
  18. android 友盟微信授权2002,友盟 2002错误
  19. TP-link WR740N路由器“复活记”
  20. R语言大数据分析纽约市的311万条投诉统计可视化与时间序列分析

热门文章

  1. DigiCert EV证书怎么样 DigiCert EV证书优势分析
  2. netbeans 插件安装
  3. 计算机操作系统32位,电脑操作系统中32位和64位的区别
  4. 系统中如何做到实名认证
  5. java normalize_Java Path normalize()用法及代码示例
  6. 《java程序设计基础》 抽象类
  7. UIView的bounds、frame、center/position、anchorPoint的关系
  8. markdown基础
  9. linux 删除文件的最后一行
  10. 网狐精华版后台修改记录