数字转换为汉语中人民币的大写
来源:互联网 发布:excel数据拆分多列 编辑:程序博客网 时间:2024/06/15 01:19
Java中吧数字转换为人民币大写格式,网上有很多方法,现在这是跟据被人的方法改编的,更容易理解一些
package com.lm.util;public class Test {/** * 汉语中数字大写 */private static final String[] CN_UPPER_NUMBER = { "零", "壹", "贰", "叁", "肆","伍", "陆", "柒", "捌", "玖" };/** * 汉语中货币单位大写,这样的设计类似于占位符 */private static final String[] CN_UPPER_MONETRAY_UNIT = { "分", "角", "元","拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "兆", "拾","佰", "仟" };/** * 特殊字符:整 */private static final String CN_FULL = "整";/** * 把输入的金额转换为汉语中人民币的大写 * * @param numberOfMoney * 输入的金额 * @return 对应的汉语大写 */public static String number2CNMontrayUnit(String str) {String headInteger = null;//整数部分String endDecimal = null;//小数部分if(str.contains(".")){headInteger = str.substring(0, str.indexOf("."));endDecimal = str.substring(str.indexOf(".") + 1);}else{headInteger = str;}long headIntegerValue = (long) (Double.parseDouble(headInteger.trim()));int numUnit = 0;boolean getZero = false;//判断是否为零String prefix = ""; // 整数部分转化的结果String suffix = ""; // 小数部分转化的结果// 处理小数点后面的数if (null == endDecimal || endDecimal.equals("00") ) {suffix = CN_FULL;} else {//角位是零的if(endDecimal.charAt(0) == '0'){suffix = CN_UPPER_NUMBER[endDecimal.charAt(1) - '0'] + CN_UPPER_MONETRAY_UNIT[0] + suffix ;}else if(endDecimal.charAt(1) == '0'){suffix = suffix + CN_UPPER_NUMBER[endDecimal.charAt(0) - '0'] + CN_UPPER_MONETRAY_UNIT[1];}else{suffix = CN_UPPER_NUMBER[endDecimal.charAt(1) - '0'] + CN_UPPER_MONETRAY_UNIT[1]+ CN_UPPER_NUMBER[endDecimal.charAt(0) - '0'] + CN_UPPER_MONETRAY_UNIT[0]; }}//循环处理整数部分for (int i = 0; i < headInteger.length(); i++) {numUnit = (int) (headIntegerValue % (10));if(numUnit > 0){prefix = CN_UPPER_NUMBER[numUnit] + CN_UPPER_MONETRAY_UNIT[i+2] + prefix ;getZero = false;}else{if (!(getZero)) {prefix = CN_UPPER_MONETRAY_UNIT[i+2] + CN_UPPER_NUMBER[0] + prefix;}getZero = true;}headIntegerValue = headIntegerValue/10;//每次循环去掉最后一位}return prefix + suffix;}public static void main(String[] args) {//String str = "100091654658.99";String str = "10";System.out.println(str);String number2cnMontrayUnit = Test.number2CNMontrayUnit(str);System.out.println(number2cnMontrayUnit);}}
0 0
- 数字转换为汉语中人民币的大写
- java 数字转换为汉语中人民币的大写
- Java 数字转换为汉语中人民币的大写
- 数字转换为汉语中人民币的大写
- 数字转换为汉语中人民币的大写
- 数字转换为汉语中人民币的大写
- java中数字转换汉语中人民币的大写
- 数字转换成汉语中人民币的大写(javascript正则)
- java 开发_数字转换汉语中 人民币的大写
- Java金额转换为汉语中人民币的大写
- java开发_数字转换汉语中人民币的大写_完整版
- java开发_数字转换汉语中人民币的大写_完整版
- 数字转换为大写,人民币
- 人民币大写转换为数字
- 将人民币数字转换为中文大写
- java 转换数字为人民币大写
- 将数字字符串转换为人民币大写
- JS数字转换为人民币大写
- aandroid 开发常见bug
- WebRTC VideoEngine超详细教程(一)——视频通话的基本流程
- 【译】一则故事:达到绝对安全的三个最佳措施
- podfile
- linphone 分析 序
- 数字转换为汉语中人民币的大写
- IOS版添加phonegap百度第三方登录 Frontia插件教程
- jQuery源码分析14--get与eq的区别
- iOS8 Layout Margins 详解
- IM架构资料收集
- Spring Test 整合 JUnit 4 使用总结
- WebRTC VideoEngine超详细教程(二)——集成OPENH264编解码器
- YII2安装
- AVC和H.264