- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java 人民币大写转换
public class RMB2UpCase {
public static String changeToBig(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 {
//rail.charAt(0) - 0进行运算过后就是数字
suffix = digit[rail.charAt(0) - 0] + 角
+ digit[rail.charAt(1) - 0] + 分; // 否则把角分转化出来
}
// 处理小数点前面的数
char[] chDig = head.toCharArray(); // 把整数部分转化成字符数组
char zero = 0; // 标志0′表示出现过0
byte zeroSerNum = 0; // 连续出现0的次数
for (int i = 0; i chDig.length; i++) {
int idx = (chDig.length - i - 1) % 4; // 取段内位置
int vidx = (chDig.length - i - 1) / 4; // 取段位置
if (chDig[i] == 0) { // 如果当前字符是0
zeroSerNum++; // 连续0次数递增
if (zero == 0) { // 标志第一次出现0
zero = digit[0];
//idex==0表示是段位的结尾;zeroSerNum表示这个段位有数字,不全部为0
} else if (idx == 0 vidx 0 zeroSerNum 4) {
prefix += vunit[vidx - 1];//单位:万,亿
zero = 0;
}
continue;
}
zeroSerNum = 0; // 连续0次数清零
if (zero != 0) { // 如果标志不为0,则加上,例如万,亿什么的
prefix += zero;
zero = 0;
}
prefix += digit[chDig[i] - 0]; // 转化该数字表示
if (idx 0)
prefix += hunit[idx - 1];//单位:拾,佰,仟
//段位大于0,段内位置是末尾
if (idx == 0 vidx 0) {
prefix += vunit[vidx - 1]; // 段结束位置应该加上段名如万,亿
}
}
if (prefix.length() 0)
prefix += 圆; // 如果整数部分存在,则有圆的字样
return prefix + suffix; // 返回正确表示
}
public static void main(String[] args) {
System.out.println(changeToBig(929999999.01));
}
}
文档评论(0)