/**
* 人民币转成大写
* @param value
* @return String
*/
public static String hangeToBig(double value){
// 段内位置表示
char[] hunit = { '拾', '佰', '仟' };
// 段名表示
char[] vunit = { '万', '亿' };
// 数字表示
char[] digit = { '零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖' };
// 转化成整形
long midVal = (long) (value * 100);
// 转化成字符串
String valStr = String.valueOf(midVal);
// 取整数部分
String head = valStr.substring(0, valStr.length() - 2);
// 取小数部分
String rail = valStr.substring(valStr.length() - 2);
// 整数部分转化的结果
String prefix = "";
// 小数部分转化的结果
String suffix = "";
// 处理小数点后面的数
if (rail.equals("00")){
// 如果小数部分为0
suffix = "整";
}else{
// 否则把角分转化出来
suffix = digit[rail.charAt(0) - '0'] + "角" + digit[rail.charAt(1) - '0'] + "分";
}
// 处理小数点前面的数
// 把整数部分转化成字符数组
char[] chDig = head.toCharArray();
// 标志'0'表示出现过0
char zero = '0';
// 连续出现0的次数
byte zeroSerNum = 0;
// 循环处理每个数字
for (int i = 0; i < chDig.length; i++){
// 取段内位置
int idx = (chDig.length - i - 1) % 4;
// 取段位置
int vidx = (chDig.length - i - 1) / 4;
// 如果当前字符是0
if (chDig[i] == '0'){
// 连续0次数递增
zeroSerNum++;
// 标志
if (zero == '0'){
zero = digit[0];
}else if (idx == 0 && vidx > 0 && zeroSerNum < 4){
prefix += vunit[vidx - 1];
zero = '0';
}
continue;
}
// 连续0次数清零
zeroSerNum = 0;
// 如果标志不为0,则加上,例如万,亿什么的
if (zero != '0'){
prefix += zero;
zero = '0';
}
// 转化该数字表示
prefix += digit[chDig[i] - '0'];
if (idx > 0)
prefix += hunit[idx - 1];
if (idx == 0 && vidx > 0){
// 段结束位置应该加上段名如万,亿
prefix += vunit[vidx - 1];
}
}
}
if (prefix.length() > 0)
// 如果整数部分存在,则有圆的字样
prefix += '圆';
// 返回正确表示
return prefix + suffix;
}else{
return "零圆"+ suffix;
}
}
相关推荐
主要为大家详细介绍了java实现数字转换人民币中文大写工具,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
输入字符,通过正则验证是否为金额不超过万亿精确到小数点后两位,然后将数字转换为大写 包括后台java正则验证及前台js验证 请输入一个数字(精确到小数点后两位): fdsa54325.54 fdsa54325.54 false 请输入一个...
本文实例为大家分享了python实现人民币大写转换的具体代码,供大家参考,具体内容如下 #!/usr/bin/python # -*- coding:utf-8 -*- # ********* 转换方法介绍 ********* # 将需要转换的数字从右向左,每4位分成一个...
这是一个把人民币数字转换成大写的java程序
使用java实现对人民币大写处理,亲测可用!
JS将数字转换为大写汉字人民币
将数字金额转换为中文大写金额将数字金额转换为中文大写金额将数字金额转换为中文大写金额
手写java类,金额转换成大写,代码有详细说明,金额装换成大写可达百万亿,需要将金额转换成大写的朋友可以下载直接用。
1. 最大支持百万亿(15位整数,2位小数) ;或仟万亿(16位整数) 2. 超过最大支持仟万亿(16位整数),只输出大写数字 3. 整数部分越大,则小数部分输出越不精确 4. 负数,则忽略负号
用c语言写的人民币小写金额转换成大写金额
Java人民币金额数字转换成大写,最常见的java面试题,最合理的解答。
用JAVA书写的一个大写金额转化为小写金额的类
小写金额转换为大写金额.
用java代码 实现金额阿拉伯数字 转成 中文汉字大写形式
Java语言实现的,将数字金额转换为人民币大写金额的例子,没有对输入数字进行校验,小数点后只保留两位,支持千分符。最大金额范围为千亿。
最好放在公共方法里,以便调用,定义String 类型接受返回的金额,调用参数为需要传入的金额
js中使用Arabia_to_Chinese方法,如: var a=Arabia_to_Chinese(1183.5); //返回壹仟壹佰捌拾叁元零伍角整
将数字转为中文金额的大写方式(Java版) 博文链接:https://lovinchan.iteye.com/blog/202768
create or replace function sf_get_money(p_num in number default null) 此函数处理数字小写金额转换为大写金额
人民币大写金额转换工具人民币大写金额转换工具人民币大写金额转换工具人民币大写金额转换工具