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

金额小写转化为大写

时间:2021-05-16 17:57:28

相关推荐

金额小写转化为大写

private static final String UNIT = "万仟佰拾亿仟佰拾万仟佰拾元角分";

private static final String DIGIT = "零壹贰叁肆伍陆柒捌玖";

private static final double MAX_VALUE = 9999999999999.99D;

public String change(double v) {

if (v < 0 || v > MAX_VALUE) {

return "参数非法!";

}

long l = Math.round(v * 100);

if (l == 0) {

return "零元整";

}

String strValue = l + "";

// i用来控制数

int i = 0;

// j用来控制单位

int j = UNIT.length() - strValue.length();

String rs = "";

boolean isZero = false;

for (; i < strValue.length(); i++, j++) {

char ch = strValue.charAt(i);

if (ch == '0') {

isZero = true;

if (UNIT.charAt(j) == '亿' || UNIT.charAt(j) == '万' || UNIT.charAt(j) == '元') {

rs = rs + UNIT.charAt(j);

isZero = false;

}

} else {

if (isZero) {

rs = rs + "零";

isZero = false;

}

rs = rs + DIGIT.charAt(ch - '0') + UNIT.charAt(j);

}

}

if (!rs.endsWith("分")) {

rs = rs + "整";

}

rs = rs.replaceAll("亿万", "亿");

return rs;

}

aae022Sum的类型为Bigdecimal

aae022Sum.setScale(2, RoundingMode.HALF_UP)--保留两位小数

aae240.doubleValue(); 转为double类型

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