代码如下:

import java.math.BigDecimal;

/**

* @author andy

* @create 2016-08-12 18:51

*/

public class PriceUtil {

private static final String[] CN_UPPER_NUMBER = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};

private static final String[] RADICES = {"", "拾", "佰", "仟"};

private static final String[] BIG_RADICES = {"", "万", "亿", "兆"};

/**

* 获取大写的人名币的金额,单位精确到分

* Create by andy on 2016-11-22 14:26

*

* @param money 人民币,单位:分

* @return 人民币大写的金额

*/

public static String getRMB(long money) {

StringBuilder result = new StringBuilder("");

if (money == 0) {

return "零元整";

}

long integral = money / 100;//整数部分

int integralLen = (integral + "").length();

int decimal = (int) (money % 100);//小数部分

if (integral > 0) {

int zeroCount = 0;

for (int i = 0; i < integralLen; i++) {

int unitLen = integralLen - i - 1;

int d = Integer.parseInt((integral + "").substring(i, i + 1));//当前数字的值

int quotient = unitLen / 4;//大单位的下标{"", "万", "亿"}

int modulus = unitLen % 4;//获取单位的下标(整数部分都是以4个数字一个大单位,比如:个、十、百、千、个万、十万、百万、千万、个亿、十亿、百亿、千亿)

if (d == 0) {

zeroCount++;

} else {

if (zeroCount > 0) {

result.append(CN_UPPER_NUMBER[0]);

}

zeroCount = 0;

result.append(CN_UPPER_NUMBER[d]).append(RADICES[modulus]);

}

if (modulus == 0 && zeroCount < 4) {

result.append(BIG_RADICES[quotient]);

}

}

result.append("元");

}

if (decimal > 0) {

int j = decimal / 10;

if (j > 0) {

result.append(CN_UPPER_NUMBER[j]).append("角");

}

j = decimal % 10;

if (j > 0) {

result.append(CN_UPPER_NUMBER[j]).append("分");

}

} else {

result.append("整");

}

return result.toString();

}

public static void main(String[] args) {

System.out.println(1001 / 100);

System.out.println(10010 % 100);

System.out.println(getRMB(1000));

System.out.println(getRMB((long) (10012.20 * 100)));

System.out.println(getRMB(109202431));

System.out.println(getRMB(1239999999999999L));

System.out.println(getRMB(21435356));

}

}

人民币大写转换 java_java人民币转大写中文相关推荐

  1. 小写大写转换_小写到大写转换器JavaScript工具| 网络应用项目

    小写大写转换 Hi! At times, beginners always find it hard getting the application of the theory they learn ...

  2. java人民币大小写转换_人民币大小写转换

    usingSystem;usingSystem.Text;usingSystem.Text.R using System; using System.Text; using System.Text.R ...

  3. java人民币大小写转换_人民币大小写转换 java 实现

    参考:http://blog.csdn.net/guaishushu1ss/article/details/76757405 对匹配的金额大小,转换规则做了部分修改 工具类: public class ...

  4. java人民币美元转换_人民币与美元的汇率转换 ------Java实现

    import javax.swing.*; import java.awt.*; import java.awt.event.*; public class changeDollar extends ...

  5. 真正正确的人民币 小写 大写 转换算法

    网上很多人民币数字转换成人民币大写的算法,但是,按照财务的规则,没有一个是对的. 于是我按照财务的规则重新写了一次这个逻辑 首先来看财务的大写人民币规则 (一) 阿拉伯数字中间有"0&quo ...

  6. JavaScript实现人民币大小写转换

    当使用支票或者签署合同时,需要用到大写人民币,常用的中文大写包括零.壹.贰.叁.肆.伍.陆.柒.捌.玖.拾.佰.仟.万.亿.本文介绍下如何使用JavaScript实现将阿拉伯数字的人民币转换成大写. ...

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

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

  8. 关于数字转换成人民币大写的问题

    我们在参与大型项目时,难免会遇到数值转换人民币大写的情况.因为我今天接触了一个这样的转换,但原代码存在BUG,转换经常出现问题.于是我就去网上搜索了相关资源.由于没有找到相对权威的转换代码,网上给出的 ...

  9. 数值转换成人民币大写的一个类

    网上有许多将数值转换成人民币大写的代码,其中有不少写得很好的.昨天在Csdn上浏览,觉得这个比较简洁,但也有几点小Bug,稍加整理,觉得仍然与财务表达方式有不一致的地方,故先贴上来,请大家看看. pu ...

  10. C# 将小写数字转换为 一般中文大写数字 和 人民币大写数字

    网络转载 class DigitToChnText {     private readonly char[] chnGenText;     private readonly char[] chnG ...

最新文章

  1. linux中解决SSH连接慢问题
  2. PHP_crontab 漏洞,shopex 4.8.5.45144 \core\include_v5\crontab.php 远程shell写入漏洞
  3. notepad++的好用快捷键整理
  4. centos7安装svn1.9解决与svn服务器版本不一致的问题
  5. objc_setAssociatedObject 关联的简单用法
  6. 【传智播客】JavaWeb程序设计任务教程 第五、六章练习答案
  7. 阿里云OSS 上传文件SDK
  8. jdbc连接mysql传参_将参数传递给JDBC PreparedStatement
  9. linux(1):Linux经典面试题
  10. three.js 把geometry转换成BufferGeometry
  11. linux开机自启动python脚本_Linux下Python脚本自启动和定时启动的详细步骤
  12. Sentinel流控规则_关联_分布式系统集群限流_线程数隔离_削峰填谷_流量控制_速率控制_服务熔断_服务降级---微服务升级_SpringCloud Alibaba工作笔记0035
  13. Wget漏洞(CVE-2016-4971)利用方式解析
  14. Python 语言 Hello world
  15. SQL Azure (15) SQL Azure 新的规格
  16. 大文件上传NeatUpload简单用法
  17. 【Pygame实战】怀旧经典—这款给娃的棋类游戏,你还记得叫什么吧?(一定要收藏)
  18. C++ PostMessage 模拟键盘鼠标
  19. 关于Hsql无法插入的问题
  20. 行测-图形推理-2-黑白格类

热门文章

  1. docker curl: (56) Recv failure: Connection reset by peer问题解决方法
  2. 华为网络拒绝接入_为何华为手机网络拒绝接入
  3. 高价值的聚合支付源码修复版+带后台/语音播报
  4. fms5序列号_火枫 FMS-105分体式炉头测评
  5. excel poi 实现图片导出
  6. 今年阿里巴巴重要开源项目全在这里
  7. 在线生成透明ICO图标神器
  8. nonebot2插件之主持飞花令
  9. html5设置谷歌浏览器兼容性,谷歌浏览器如何设置兼容性视图_谷歌浏览器设置兼容性视图的方法-系统城...
  10. 航空公司客户价值特征构建与分析k-means