金额小写转化为大写
Posted xiaoyuer1229
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了金额小写转化为大写相关的知识,希望对你有一定的参考价值。
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.setScale(2, RoundingMode.HALF_UP)--保留两位小数
以上是关于金额小写转化为大写的主要内容,如果未能解决你的问题,请参考以下文章
用java写一个将大写的MAC地址转化为小写,切把分割用的-转化为:,首先判断输入是不是为MAC地址,在转换