把数字字符串转换为中文大写的字符串

Java代码
privatestaticString integerTransGBK(String input) {String regix = "[0-9]+";int[] num = newint[input.length()];String[] str1 = { "零","壹","贰","叁","肆","伍","陆","柒","玐","玖"};TreeMap<Integer, String> map1 = newTreeMap<Integer, String>();StringBuilder sb = newStringBuilder();intlen = num.length;       //数字的长度booleanhasZero = false;   //是否有0//是否从第1位,第5为,第9位……开始。用来去除个位上的“零”booleanzeroFromGeWei = true;//判断是否是合法数字if(!input.matches(regix)){thrownewRuntimeException("对不起,你输入的不是数字!");}// 将String数字变成int数组for(inti = 0; i < num.length; i++) {num[i] = Integer.parseInt(String.valueOf(input.charAt(i)));}// 将str1的元素与数字一一对应for(inti = 0; i < str1.length; i++) {map1.put(i, str1[i]);}//开始转换字符串for(inti = len - 1; i>= 0; i--){intposition = len - i -1;if( position % 4==0)zeroFromGeWei = true;// 如果不是个位,每四位加个万或亿字,交替添加if(i != (len - 1) && ( position % 4==0)){if(hasZero ) {sb.insert(0,"零");  //在万亿之前的0数字,要处理完hasZero = false;}if((position % 8==0)){sb.insert(0,"亿");}else{sb.insert(0,"万");}}//判断数字字符是不是0字符if(num[i] != 0){if(hasZero && !zeroFromGeWei ) {sb.insert(0,"零");}hasZero = false;zeroFromGeWei = false;sb.insert(0,map1.get(num[i]));switch(position % 4) {case1:sb.insert(1,"拾");break;case2:sb.insert(1,"百");break;case3:sb.insert(1,"千");break;default:break;}}else{hasZero = true;}}//去除零万的情况intindex = sb.indexOf("零万");while(index != -1){sb.delete(index, index+2);index = sb.indexOf("零万");}//去除零亿的情况index = sb.indexOf("零亿");while(index != -1){sb.delete(index, index+1);index = sb.indexOf("零亿");}//去除最后一个字符为0的情况,在低8位为0的情况下,会在亿字后多个零字index = sb.indexOf("零",sb.length()-1);if(index != -1){sb.delete(index, index +1);}returnsb.toString();
}
描述:把数字字符串转换为中文大写的字符串 125022102012032 壹百贰拾伍万零贰百贰拾壹亿零贰百零壹万贰千零叁拾贰

java 实现金额大小写转换相关推荐

  1. 金额大小写转换工具类

    /***金额大小写转换工具类*/public class MoneyUtil {/** 大写数字 */private static final String[] NUMBERS = { "零 ...

  2. C#人民币金额大小写转换

    C#人民币金额大小写转换 在财务相关的软件的时候,常常设计到大小写金额的转换,小编整理了自己常用的数字金额大小写转换的方法代码 给大家参考如下: /// <summary> /// 金额小 ...

  3. 人民币金额大小写转换函数

    [转帖]人民币金额大小写转换函数 Function NtoC( n0 :Extended) :wideString; //人民币金额大小写转换函数(如发现更为精简的,请告诉我) //作者:方小庆(上海 ...

  4. Java实现人民币大小写转换

    思路和具体方法都在注释中说明 package ClassicArithmetic;import java.util.Scanner;/** @author:LOHAS翀* @time:2019/11/ ...

  5. 用JAVA实现字符串大小写转换

    题目描述 输入任意个字符串,将其中的小写字母变为大写,大写字母变为小写,其他字符不用处理: 输入描述: 任意字符串:abcd12#%XYZ 输出描述: 输出字符串:ABCD12#%xyz 示例1: 输 ...

  6. 六,iOS中的金额格式化和金额大小写转换

    1,金额格式化 (1)需要注意当金额或者数字为负数是需要单独处理 代码如下: /*string 金额格式化(整数部分为NSNumberFormatter,小数部分为手动)*/ + (NSString ...

  7. FastReport 金额大小写转换自定义函数

    在FastReport中编写金额数字转换大写自定义函数 function MoneyToCharacter(Money:real):string; //数字转换为中文大写 var     temp:s ...

  8. android金额大小写转换,Java/android 金额 数字转成大写汉子

    今天翻看自己的代码,发现了自己写的金额数字转成大写的代码,当然我也是在别人的基础上修改的,当时从网上copy了一份代码,发现能用,但是有很多bug,然后自己在别人的基础上修改了一番,满足了自己的应用! ...

  9. java ascii码大小写转换_使用「ASCII」转换大小写

    笔记背景 今天在看同事写的代码的时候突然看到一个有趣的东西,刚好自己又不怎么熟悉,经过我几番研究和分析终于得到了答案和知道了原理.接下来介绍一下这个代码(本人弱鸡,大牛勿喷): code1.png 相 ...

最新文章

  1. sqlmap 常用操作
  2. java hashmap 重复_java HashMap插入重复Key值问题
  3. SugarCRM - 如何让Contact页面的关系字段字段Account变为readonly
  4. 多线程中的volatile和伪共享
  5. python软件下载3版本-Python 3.7.2和3.6.8版本发布下载,附更新说明
  6. 花生壳内网穿透实践指南
  7. 【EduCoder答案】时域采样定理
  8. Exception:No serializer found for class and no properties discovered to create BeanSerializer
  9. win10做好备份如何恢复系统
  10. VisionMobile Apple和三星利润的秘诀
  11. qcqa是什么职位_QA和QC是什么意思?区别是什么?
  12. 前端程序员必看的网站专属前端程序员的“hao123“
  13. 用计算机解决问题听课笔记,《用计算机解决问题的一般步骤》说课稿
  14. 云帆大数据学院_hadoop 2.2.0源码编译
  15. Chrome with proxy
  16. 批量导出数据库中的表
  17. 乱拔插U盘,导致U盘变成RAW未初始化格式,容量大小为0。
  18. 【Excel】常用的excel表格操作
  19. 最全阿里面试题:已拿offer,阿里P8岗位完整阿里技术面试题目,这些面试题你能答出多少
  20. linux远程开机wol,Wol在线远程开机、唤醒工具使用说明

热门文章

  1. 从阿里云dms导出mysql无法导入_MySQL数据库怎么导入数据?怎么用DMS导入数据?...
  2. 存档:全球各国名称中英文对照表
  3. 协方差矩阵、大数定律、牛顿迭代法
  4. 为什么有的人职场上混得如鱼得水,有的人却混得狼狈不堪呀?
  5. 4399积分小游戏刷分工具帮助
  6. Java小程序post如何传参,微信小程序向Java后台传输参数的方法实现
  7. 新的打卡地诞生!三星家电出没网红咖啡厅
  8. Debussy-54v9安装
  9. 百年工业,名词满天飞
  10. 随身WiFi刷debian固件