android金额大小写转换,Java/android 金额 数字转成大写汉子
今天翻看自己的代码,发现了自己写的金额数字转成大写的代码,当然我也是在别人的基础上修改的,当时从网上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 金额 数字转成大写汉子相关推荐
- 金额大小写转换工具类
/***金额大小写转换工具类*/public class MoneyUtil {/** 大写数字 */private static final String[] NUMBERS = { "零 ...
- C#人民币金额大小写转换
C#人民币金额大小写转换 在财务相关的软件的时候,常常设计到大小写金额的转换,小编整理了自己常用的数字金额大小写转换的方法代码 给大家参考如下: /// <summary> /// 金额小 ...
- 人民币金额大小写转换函数
[转帖]人民币金额大小写转换函数 Function NtoC( n0 :Extended) :wideString; //人民币金额大小写转换函数(如发现更为精简的,请告诉我) //作者:方小庆(上海 ...
- PHP怎样将数字值转化为字母,php如何把数字转成大写字母
[摘要] PHP即"超文本预处理器",是一种通用开源脚本语言.PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言.PHP独特的语法混合了C.Java.Perl以及 ...
- java 数字大小写转换_阿拉伯数字大小写转换java工具
package org.centric.utils; import java.text.DecimalFormat; public class MoneyUtil { /** 大写数字 */ pri ...
- 六,iOS中的金额格式化和金额大小写转换
1,金额格式化 (1)需要注意当金额或者数字为负数是需要单独处理 代码如下: /*string 金额格式化(整数部分为NSNumberFormatter,小数部分为手动)*/ + (NSString ...
- FastReport 金额大小写转换自定义函数
在FastReport中编写金额数字转换大写自定义函数 function MoneyToCharacter(Money:real):string; //数字转换为中文大写 var temp:s ...
- 人民币金额大小写转换
大家在编写涉及到金额的程序的时候,有时候需要将小写的人民币金额转换成大写表示 下面的代码介绍了转换的实现过程,大家可以参考一下! #pragma warning(disable:4786) #incl ...
- 金额大小写转换(4)
create or replace function l2u -- 小写金额转换成大写 (n_lowermoney in number) return varchar2 as v_lowerstr v ...
最新文章
- 创建型模式--单例模式
- Java并发之synchronized关键字
- python数据储存_五种使用python储存数据的方式
- qxidc项目/crtsurfdata程序 杀青总结
- jdeps_JDeps入门–分析项目的依赖关系
- Linux 命令之 head -- 在屏幕上显示指定文件的开头若干行/显示文件开头内容/查看文件开头内容
- Qt图形界面编程入门(基本窗口及控件)
- fedora docker_如何在Fedora中授予用户使用Docker的权限
- java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start com
- Ehcache小结(一)
- 软工文档——可行性研究报告
- java中build path_Eclipse中的build path详解
- 基于单片机的多功能智能指纹_手机_门禁卡_按键密码锁系统设计
- re python 引擎_转 python内置正则表达式(re)模块官方文档简要中文版
- MyBatis 入门学习3
- 最新零基础学UI小白锐变之路全能UI/UE设计师培训班完整版
- 移动硬盘进水丢失数据怎么恢复
- 区块链服务网络BSN的开发应用
- 关于取消“计算机信息系统集成企业资质认定”、“计算机信息系统集成项目经理人员资质评定”和“信息系统工程监理单位资质认证和监理工程师资格认定”
- vba自带的日期函数