 如图,左侧是小写的金额,需求是把小写金额转成大写金额,并且把大写金额拆开,分别填入到右侧表格中,因为这是我后端生成PDF,需要把值写到PDF中去。 我试了好多种截取字符串的方式都行不通,还请各位给指点指点! 这是数字金额转大写金额的方法 public static String changeCH(BigDecimal money) { double v = money.doubleValue(); if (!(v 9.99999999999999E12D)) { long l = Math.round(v * 100.0D); if (l == 0L) { return "零元整"; } else { String strValue = l + ""; int i = 0; int j = "万仟佰拾亿仟佰拾万仟佰拾元角分".length() - strValue.length(); String rs = ""; for(boolean isZero = false; i < strValue.length(); ++j) { char ch = strValue.charAt(i); if (ch == '0') { isZero = true; if ("万仟佰拾亿仟佰拾万仟佰拾元角分".charAt(j) == 20159 || "万仟佰拾亿仟佰拾万仟佰拾元角分".charAt(j) == 19975 || "万仟佰拾亿仟佰拾万仟佰拾元角分".charAt(j) == 20803) { rs = rs + "万仟佰拾亿仟佰拾万仟佰拾元角分".charAt(j); isZero = false; } } else { if (isZero) { rs = rs + "零"; isZero = false; } rs = rs + "零壹贰叁肆伍陆柒捌玖".charAt(ch - 48) + "万仟佰拾亿仟佰拾万仟佰拾元角分".charAt(j); } ++i; } if (!rs.endsWith("分")) { rs = rs + "整"; } rs = rs.replaceAll("亿万", "亿"); return rs; } } else { return "参数非法!"; } }