java 人民币大写转换.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档