/** ** @类名: RMBChange * @作用: 人民币小写转换为大写* @日期: 2013-1-7 下午09:31:12 *  */public class RMBChange {public static void main(String agrs[]) {//整数System.out.println(digitUppercase(0));             // 零元整System.out.println(digitUppercase(123));          // 壹佰贰拾叁元整System.out.println(digitUppercase(1000000));      // 壹佰万元整System.out.println(digitUppercase(100000001));      // 壹亿零壹元整System.out.println(digitUppercase(1000000000));        // 壹拾亿元整System.out.println(digitUppercase(1234567890));     // 壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾元整System.out.println(digitUppercase(1001100101));      // 壹拾亿零壹佰壹拾万零壹佰零壹元整System.out.println(digitUppercase(110101010));       // 壹亿壹仟零壹拾万壹仟零壹拾元整//小数System.out.println(digitUppercase(0.12));          // 壹角贰分System.out.println(digitUppercase(123.34));        // 壹佰贰拾叁元叁角肆分System.out.println(digitUppercase(1000000.56));    // 壹佰万元伍角陆分System.out.println(digitUppercase(100000001.78));  // 壹亿零壹元柒角捌分System.out.println(digitUppercase(1000000000.90)); // 壹拾亿元玖角System.out.println(digitUppercase(1234567890.03)); // 壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾元叁分System.out.println(digitUppercase(1001100101.00)); // 壹拾亿零壹佰壹拾万零壹佰零壹元整System.out.println(digitUppercase(110101010.10));  // 壹亿壹仟零壹拾万壹仟零壹拾元壹角//负数System.out.println(digitUppercase(-0.12));          // 负壹角贰分System.out.println(digitUppercase(-123.34));        // 负壹佰贰拾叁元叁角肆分System.out.println(digitUppercase(-1000000.56));    // 负壹佰万元伍角陆分System.out.println(digitUppercase(-100000001.78));  // 负壹亿零壹元柒角捌分System.out.println(digitUppercase(-1000000000.90)); // 负壹拾亿元玖角System.out.println(digitUppercase(-1234567890.03)); // 负壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾元叁分System.out.println(digitUppercase(-1001100101.00)); // 负壹拾亿零壹佰壹拾万零壹佰零壹元整System.out.println(digitUppercase(-110101010.10));  // 负壹亿壹仟零壹拾万壹仟零壹拾元壹角}/*** 数字金额大写转换,思想先写个完整的然后将如零拾替换成零* 要用到正则表达式*/public static String digitUppercase(double n){String fraction[] = {"角", "分"};String digit[] = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };String unit[][] = {{"元", "万", "亿"},{"", "拾", "佰", "仟"}};String head = n < 0? "负": "";n = Math.abs(n);String s = "";for (int i = 0; i < fraction.length; i++) {s += (digit[(int)(Math.floor(n * 10 * Math.pow(10, i)) % 10)] + fraction[i]).replaceAll("(零.)+", "");}if(s.length()<1){s = "整"; }int integerPart = (int)Math.floor(n);for (int i = 0; i < unit[0].length && integerPart > 0; i++) {String p ="";for (int j = 0; j < unit[1].length && n > 0; j++) {p = digit[integerPart%10]+unit[1][j] + p;integerPart = integerPart/10;}s = p.replaceAll("(零.)*零$", "").replaceAll("^$", "零") + unit[0][i] + s;}return head + s.replaceAll("(零.)*零元", "元").replaceFirst("(零.)+", "").replaceAll("(零.)+", "零").replaceAll("^整$", "零元整");}}

转载自:http://www.oschina.net/code/snippet_32903_18900

RMB小写转换成大写相关推荐

  1. 把数字小写转换成大写,把数字转化成英文

    把数字小写转换成大写   方法一,使用系统提供的函数,但是不满足大陆财务的要求.     方法二:使用下面的函数. 英文: static str Num2EngStr(real realNum,boo ...

  2. php大写转为小写,PHP 实现人民币小写转换成大写的方法及大小写转换函数

    php 的 PHP 实现人民币小写转换成大写的方法及大小写转换函数 下面一段代码给大家分享php实现人民币大小写转换的方法,具体代码如下所示: header("charset=utf-8;& ...

  3. 将字符串中大写转换成小写,小写转换成大写。基础题目

    大小写转换 String url="asdfaDFSFDSoiuonmlWERVuojln" 将以上字符串大写转换成小写,小写转换成大写. 首先转换成char 数组char[] s ...

  4. c语言人民币小写转换成大写,C语言实现人民币小写转大写

    这个是很早之前用C语言实现的人民币小写转大写的方法 /************************************************************************* ...

  5. java将字符串中大写字母转换成小写将小写转换成大写

    /** 使用String类和StringBuffer类的方法,实现将两个字符串大小写转换后连接到一起,再将连接后的字符串倒序输出. 例如 "PersoN""peOple& ...

  6. 把输入字符的小写转换成大写并输出

    #include <stdio.h> #include <stdlib.h> #include <string.h> /********************** ...

  7. oracle批量把小写转换成大写,oracle数据库批量将表名小写转大写

    ORACLE10g数据库,Sqlserver通过DTS导出数据到ORACLE后.查询表数据时输入: select * from "表名" ; 查询数据执行正常. 如果输入:sele ...

  8. 人民币小写转换成大写

    #include <iostream> #include <math.h> using namespace std; int main() {double x,i=100000 ...

  9. 用正则表达式将字符串中的下划线小写转换成大写

    我们在coding的时候,有时候会遇到将代码中的一些变量批量修改,例如 :将"user_name" 修改成 "userName".这时候我们就可以利用IDE的查 ...

最新文章

  1. ld3320语音识别模块工作原理_风冷模块热泵机组的工作原理与施工安装教程
  2. MYSQL创建一个function用来计算经纬度距离
  3. QT隐式调用VC开发的DLL
  4. 随机生成10元素数组并找出最大元素(Java)
  5. 21年编程,那些我踩过的坑!
  6. 统计字符串中某个字出现的次数
  7. PAM+4+matlab,基于PAM4调制的400G光模块
  8. 信息学奥赛一本通 1172:求10000以内n的阶乘 | OpenJudge NOI 1.6 14:求10000以内n的阶乘
  9. 仿京东账户设置APP模板
  10. 17日直播预告丨Oracle 19c避雷经验分享
  11. 其他电子计算机配套产品及耗,F-商品和服务税收分类编码-.xls
  12. 如何不让tomcat在启动时弹窗_Tomcat 在 Spring Boot 中是如何启动的
  13. linux之type命令
  14. h5实现一键复制到粘贴板 兼容iOS
  15. 10.leetcode83-Remove Diplicates from Sorted List
  16. python闯红灯检测斑马线检测红绿灯检测车速检测车流量统计车牌识别智慧交通系统
  17. 《Web程序设计》学习笔记1——web基础知识简述
  18. 前后端分离的跨域问题
  19. Excel数据分析—折线图
  20. Android集成Sentry

热门文章

  1. 安卓3dtouch测试软件,不必羡慕iPhone!安卓手机可以这样实现“3D Touch”
  2. 【产业互联网周报】华为面向鲲鹏计算产业启动数据基础设施战略;阿里王坚当选中国工程院院士...
  3. 【HTML】音视频标签(audio、video、embed)
  4. java属于什么语言_java语言属于什么语言?
  5. 【行业云说直播间】-云数底座赋能基层治理现代化正式上线
  6. α-IoU | 再助YOLOv5登上巅峰,造就IoU Loss大一统
  7. 注意前方,有月亮出现
  8. 0910---scipy.signal.argrelextrema 计算多维数组局部极值问题
  9. 思维不要僵化在一种模式
  10. Topic 14. 临床预测模型之校准曲线 (Calibration curve)