1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java大小写金额转换_java将金额转化为大写金额

java大小写金额转换_java将金额转化为大写金额

时间:2023-04-26 22:53:24

相关推荐

java大小写金额转换_java将金额转化为大写金额

private static String[] num = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};// 10进制单位private static String[] dw = {"","拾","佰","仟"};// 数值进度单位参考 /group/topic/5404723/ /question/51925487.html// 1000进制单位private static String[] dw2 = {"","萬","億","兆","京","垓","杼","穰","溝","澗","正","載","極","恆河沙","阿僧祇","那由他","不可思議","无量","大数"};private static String[] dw1 = {"角","分"};public static void main(String[] args) {String test = "009900990000";System.out.println(parse(test));}private static String parse(String str) {// str = str.replaceAll("^(0+)(.*)", "$2").replaceAll("(.*?)(0+)$", "$1");// if(str.indexOf(".") == 0) {// str = "0"+str;// }// 判断是否为合格数字if(str.matches("^\\d+(\\.\\d+)?\\d*$")) {String integer = "";String decimal = "";// 拆分成整数和小数部分int pos = str.indexOf(".");if(pos >=0 ) {integer = str.substring(0,pos);decimal = str.substring(pos+1);decimal = decimal.replaceAll("(.*?)(0+)$", "$1");} else {integer = str;}integer = integer.replaceAll("^(0+)(.*)", "$2");if(integer.isEmpty() && !decimal.isEmpty()) {integer = "0";}// 解析整数字符串String intStr = parseIntger(integer);// 解析小数字符串String decimalStr = parseDecimal(decimal,!intStr.isEmpty());if(!intStr.isEmpty()) {intStr += "元";if(integer.endsWith("0") && !decimal.isEmpty() && !decimal.startsWith("0")){intStr+="零";}} else if(decimalStr.isEmpty()) {intStr = "零元";}return intStr + (decimalStr.isEmpty()?"整":decimalStr);}throw new IllegalArgumentException(str);}/*** 解析整数 规则为:* 将字符串从后往前分割成四个字符一组的字符串二维数组(对应1000进制单位)* 分别解析每个数组为10进制单位中对应的字符串* 合并到一起则为整个字符串* @param str* @return*/private static String parseIntger(String str) {if(null == str || str.isEmpty()) {return "";}// 分割字符串为四个字符一组的字符串二维数组

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。