public static String convertToChineseNumber(double number)
{
StringBuffer chineseNumber = new StringBuffer();
String [] num={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
String [] unit = {"分","角","圆","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟","万"};
String tempNumber = String.valueOf(Math.round((number * 100)));
int tempNumberLength = tempNumber.length();
if ("0".equals(tempNumber))
{
return "零圆整";
}
if (tempNumberLength > 15)
{
}
boolean preReadZero = true; //前面的字符是否读零
for (int i=tempNumberLength; i>0; i--)
{
if ((tempNumberLength - i + 2) % 4 == 0)
{
//如果在(圆,万,亿,万)位上的四个数都为零,如果标志为未读零,则只读零,如果标志为已读零,则略过这四位
if (i - 4 >= 0 && "0000".equals(tempNumber.substring(i - 4, i)))
{
if (!preReadZero)
{
chineseNumber.insert(0, "零");
preReadZero = true;
}
i -= 3; //下面还有一个i--
continue;
}
//如果当前位在(圆,万,亿,万)位上,则设置标志为已读零(即重置读零标志)
preReadZero = true;
}
Integer digit = Integer.parseInt(tempNumber.substring(i - 1, i));
if (digit == 0)
{
//如果当前位是零并且标志为未读零,则读零,并设置标志为已读零
if (!preReadZero)
{
chineseNumber.insert(0, "零");
preReadZero = true;
}
//如果当前位是零并且在(圆,万,亿,万)位上,则读出(圆,万,亿,万)
if ((tempNumberLength - i + 2) % 4 == 0)
{
chineseNumber.insert(0, unit[tempNumberLength - i]);
}
}
//如果当前位不为零,则读出此位,并且设置标志为未读零
else
{
chineseNumber.insert(0, num[digit] + unit[tempNumberLength - i]);
preReadZero = false;
}
}
//如果分角两位上的值都为零,则添加一个“整”字
if (tempNumberLength - 2 >= 0 && "00".equals(tempNumber.substring(tempNumberLength - 2, tempNumberLength)))
{
chineseNumber.append("整");
}
return chineseNumber.toString();
}
分享到:
相关推荐
可以把金额数值转为财务上常用的金额大写,如100元 转为壹佰园
工具类里有金额转大写,数据库金额(分)转元等其他金额的处理
* 返回关于钱的中文式大写数字,支仅持到亿 * */ public static String arabNumToChineseRMB(int moneyNum){ String res=""; int i=3; if(moneyNum==0) return "零元"; while(moneyNum>0){ res=ChineseUnit...
输入字符,通过正则验证是否为金额不超过万亿精确到小数点后两位,然后将数字转换为大写 包括后台java正则验证及前台js验证 请输入一个数字(精确到小数点后两位): fdsa54325.54 fdsa54325.54 false 请输入一个...
用java代码 实现金额阿拉伯数字 转成 中文汉字大写形式
将小写金额转换为大写金额
1. 最大支持百万亿(15位整数,2位小数) ;或仟万亿(16位整数) 2. 超过最大支持仟万亿(16位整数),只输出大写数字 3. 整数部分越大,则小数部分输出越不精确 4. 负数,则忽略负号
将数字金额转换为大写汉字的java工具类,方便财务相关开发转换金额。
手写java类,金额转换成大写,代码有详细说明,金额装换成大写可达百万亿,需要将金额转换成大写的朋友可以下载直接用。
小写金额转换大写金额,小写金额转换大写金额.
最好放在公共方法里,以便调用,定义String 类型接受返回的金额,调用参数为需要传入的金额
这段代码主要是解决一些在写EXCEL或者其他文件的时候,里面有金额或者其他的数字需要转换成大写
阿拉伯数字转大写金额+大写金额转阿拉伯数字阿拉伯数字转大写金额+大写金额转阿拉伯数字
主要为大家详细介绍了java实现数字转换人民币中文大写工具,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
将数字转为中文金额的大写方式(Java版) 博文链接:https://lovinchan.iteye.com/blog/202768
在JasperReport报表中加入大写金额,在报表执行过程中使用scirptlet将存放着数字金额的变量读出转换成大写金额字符串后放入大写金额变量中。报表即可象显示普通字符变量一样显示大写金额。
用JAVA书写的一个大写金额转化为小写金额的类
看到网上有很多这样的例子程序,不过觉得很不满意。... * 序我没有用什么很精妙的算法,不过用了一些Java类库中的类,像是正则表达式之类 * 的东西。由于本人对算法不怎么在行,在做转换操作的时候用的是很笨的方法
里面有好几种,希望能对大家有用,提示"好"的是已经调试好的东西,如果大家觉得好使回复下,同时也给自己加一分
金额转换成大写