付款单保存修改自定义项赋值
This commit is contained in:
parent
83222ff0d9
commit
f77311c6c7
|
@ -145,23 +145,26 @@ public class N_F3_SAVE extends N_BASE_ACTION {
|
|||
} else {
|
||||
char[] intChars = integerPart.toCharArray();
|
||||
int len = intChars.length;
|
||||
int index = 0;
|
||||
for (int i = len - 1; i >= 0; i--) {
|
||||
for (int i = 0; i < len; i++) {
|
||||
int digit = intChars[i] - '0';
|
||||
int digitPosition = len - i - 1;
|
||||
int section = digitPosition / 4;
|
||||
int positionInSection = digitPosition % 4;
|
||||
|
||||
if (digit != 0) {
|
||||
chineseInteger.insert(0, CHINESE_CHARS[digit]);
|
||||
chineseInteger.append(CHINESE_CHARS[digit]);
|
||||
if (positionInSection > 0) {
|
||||
chineseInteger.insert(0, DIGIT_UNITS[positionInSection]);
|
||||
chineseInteger.append(DIGIT_UNITS[positionInSection]);
|
||||
}
|
||||
}
|
||||
if (positionInSection == 0 && digit != 0) {
|
||||
chineseInteger.insert(0, LARGE_NUMBERS[section]);
|
||||
if (positionInSection == 0) {
|
||||
if (digit != 0 || chineseInteger.length() == 0) {
|
||||
chineseInteger.append(LARGE_NUMBERS[section]);
|
||||
}
|
||||
}
|
||||
if (digit == 0) {
|
||||
chineseInteger.append(CHINESE_CHARS[digit]);
|
||||
}
|
||||
index++;
|
||||
}
|
||||
// 移除多余的零和重复的单位
|
||||
cleanUpChineseNumber(chineseInteger);
|
||||
|
@ -169,9 +172,9 @@ public class N_F3_SAVE extends N_BASE_ACTION {
|
|||
|
||||
// 处理小数部分
|
||||
StringBuilder chineseDecimal = new StringBuilder();
|
||||
if (!decimalPart.isEmpty()) {
|
||||
int jiao = 0;
|
||||
int fen = 0;
|
||||
if (!decimalPart.isEmpty()) {
|
||||
if (decimalPart.length() >= 1) {
|
||||
jiao = Integer.parseInt(decimalPart.substring(0, 1));
|
||||
}
|
||||
|
@ -181,6 +184,7 @@ public class N_F3_SAVE extends N_BASE_ACTION {
|
|||
if (jiao != 0) {
|
||||
chineseDecimal.append(CHINESE_CHARS[jiao]).append(AMOUNT_UNITS[1]);
|
||||
}
|
||||
// 如果分不为0,才输出分部分
|
||||
if (fen != 0) {
|
||||
chineseDecimal.append(CHINESE_CHARS[fen]).append(AMOUNT_UNITS[2]);
|
||||
}
|
||||
|
@ -191,11 +195,15 @@ public class N_F3_SAVE extends N_BASE_ACTION {
|
|||
chineseInteger.append(CHINESE_CHARS[0]);
|
||||
}
|
||||
chineseInteger.append(AMOUNT_UNITS[0]);
|
||||
if (chineseDecimal.length() == 0) {
|
||||
if (jiao == 0 && fen == 0) {
|
||||
chineseInteger.append("整");
|
||||
} else {
|
||||
if (fen == 0 && jiao != 0) {
|
||||
chineseInteger.append(chineseDecimal).append("整");
|
||||
} else {
|
||||
chineseInteger.append(chineseDecimal);
|
||||
}
|
||||
}
|
||||
|
||||
// 特殊情况处理:零元整
|
||||
if (chineseInteger.toString().equals("零元")) {
|
||||
|
@ -214,7 +222,7 @@ public class N_F3_SAVE extends N_BASE_ACTION {
|
|||
if (sb.length() > 0 && sb.charAt(sb.length() - 1) == '零') {
|
||||
sb.deleteCharAt(sb.length() - 1);
|
||||
}
|
||||
// 除单位前面的零
|
||||
// 移除单位前面的零
|
||||
for (String unit : DIGIT_UNITS) {
|
||||
if (!unit.isEmpty()) {
|
||||
while (sb.indexOf("零" + unit) != -1) {
|
||||
|
@ -232,4 +240,5 @@ public class N_F3_SAVE extends N_BASE_ACTION {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue