今天翻看自己的代码,发现了自己写的金额数字转成大写的代码,当然我也是在别人的基础上修改的,当时从网上copy了一份代码,发现能用,但是有很多bug,然后自己在别人的基础上修改了一番,满足了自己的应用!现在粘贴出来,提供给大家,也为自己以后找着方便!

我就直接贴代码了,注释都很清楚!

public class MoneyFormat {

private static final char[] UNIT={'亿','拾','佰','仟','万','拾','佰','仟'};

private static final char[]  CHAINIESFIGURE2={'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};

//整数部分的转换

public static String toChineseCharI(String intString)throws NumberFormatException{

//用来存放转换后的大写数字,因为是StringBuffer类型,所以顺便把没有转换

//的数字倒序排列一下,省一个变量.

StringBuffer ChineseCharI=new StringBuffer(intString);

//倒序的数字,便于同单位合并

String rintString=ChineseCharI.reverse().toString();

//清空一下

ChineseCharI.delete(0,ChineseCharI.length());

//单位索引

int unitIndex=0;

//数字长度

int intStringLen=intString.length();

//一位由字符转换的数字

int intStringnumber=0;

//补0

boolean addZero=false;

boolean flagZero = false;

for(int i=0;i

//按单位长度循环索引

unitIndex=i%UNIT.length;

//异常检查

if(!Character.isDigit(rintString.charAt(i)))    {

throw new NumberFormatException("数字中含有非法字符");

}

intStringnumber=Character.digit(rintString.charAt(i),10);

//如果当前位是0,开启补0继续循环直到不是0的位

if(intStringnumber==0){

addZero=true;

if(i!=0&&i%4==0){

if(addZero&&ChineseCharI.length()!=0){

ChineseCharI.append(CHAINIESFIGURE2[0]);

addZero = false;

}

flagZero = true;

ChineseCharI.append(UNIT[unitIndex]);

}

}else{

//若当前位不是第一位且补0开启

if(addZero&&ChineseCharI.length()!=0&&!flagZero){

ChineseCharI.append(CHAINIESFIGURE2[0]);

}

flagZero = false;

//插入单位

//个位数后面不需 要单位

if(i>0){

System.out.println(i);

ChineseCharI.append(UNIT[unitIndex]);

}

//插入大写数字

ChineseCharI.append(CHAINIESFIGURE2[intStringnumber]);

//补0关闭

addZero=false;

}

}

//异常处理

if(ChineseCharI.length()==0){

return "零";

}

return     ChineseCharI.reverse().toString()+"圆整";

}

}

当然,上述代码也可能存在我没发现的bug,希望大家遇到后及时交流!共同进步!

android金额大小写转换,Java/android 金额 数字转成大写汉子相关推荐

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

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

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

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

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

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

  4. PHP怎样将数字值转化为字母,php如何把数字转成大写字母

    [摘要] PHP即"超文本预处理器",是一种通用开源脚本语言.PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言.PHP独特的语法混合了C.Java.Perl以及 ...

  5. java 数字大小写转换_阿拉伯数字大小写转换java工具

    package org.centric.utils; import java.text.DecimalFormat; public class MoneyUtil { /** 大写数字 */  pri ...

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

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

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

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

  8. 人民币金额大小写转换

    大家在编写涉及到金额的程序的时候,有时候需要将小写的人民币金额转换成大写表示 下面的代码介绍了转换的实现过程,大家可以参考一下! #pragma warning(disable:4786) #incl ...

  9. 金额大小写转换(4)

    create or replace function l2u -- 小写金额转换成大写 (n_lowermoney in number) return varchar2 as v_lowerstr v ...

最新文章

  1. 创建型模式--单例模式
  2. Java并发之synchronized关键字
  3. python数据储存_五种使用python储存数据的方式
  4. qxidc项目/crtsurfdata程序 杀青总结
  5. jdeps_JDeps入门–分析项目的依赖关系
  6. Linux 命令之 head -- 在屏幕上显示指定文件的开头若干行/显示文件开头内容/查看文件开头内容
  7. Qt图形界面编程入门(基本窗口及控件)
  8. fedora docker_如何在Fedora中授予用户使用Docker的权限
  9. java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start com
  10. Ehcache小结(一)
  11. 软工文档——可行性研究报告
  12. java中build path_Eclipse中的build path详解
  13. 基于单片机的多功能智能指纹_手机_门禁卡_按键密码锁系统设计
  14. re python 引擎_转 python内置正则表达式(re)模块官方文档简要中文版
  15. MyBatis 入门学习3
  16. 最新零基础学UI小白锐变之路全能UI/UE设计师培训班完整版
  17. 移动硬盘进水丢失数据怎么恢复
  18. 区块链服务网络BSN的开发应用
  19. 关于取消“计算机信息系统集成企业资质认定”、“计算机信息系统集成项目经理人员资质评定”和“信息系统工程监理单位资质认证和监理工程师资格认定”
  20. vba自带的日期函数

热门文章

  1. thinkphp5使用容联发送短信验证码
  2. c# wifi串口通信_在C#中实现串口通信的方法
  3. c# wifi串口通信_C#中的串口通信
  4. 基于LSTM实现股票预测
  5. 京东面试官:从求职者到面试官的心路历程
  6. 工业镜头基础知识整理
  7. secureCRT 中文破解版
  8. (五)不只是 huohuo 的 JS 面试题
  9. TSP的最佳解决方案
  10. 理解Anchor、RPN真值与预测量、RPN卷积网络