Skip to content

Commit f71190d

Browse files
author
Simon he
committed
chore: add uppercaseNum
1 parent e294b14 commit f71190d

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

src/uppercaseNum.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
export function uppercaseNum(n: number) {
2+
const fraction = ['角', '分'];
3+
const digit = [
4+
'零', '壹', '贰', '叁', '肆',
5+
'伍', '陆', '柒', '捌', '玖'
6+
];
7+
const unit = [
8+
['元', '万', '亿'],
9+
['', '拾', '佰', '仟']
10+
];
11+
const head = n < 0 ? '欠' : '';
12+
n = Math.abs(n);
13+
let s = '';
14+
for (let i = 0; i < fraction.length; i++) {
15+
s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/./, '');
16+
}
17+
s = s || '整';
18+
n = Math.floor(n);
19+
for (let i = 0; i < unit[0].length && n > 0; i++) {
20+
let p = '';
21+
for (let j = 0; j < unit[1].length && n > 0; j++) {
22+
p = digit[n % 10] + unit[1][j] + p;
23+
n = Math.floor(n / 10);
24+
}
25+
s = p.replace(/(.)*$/, '').replace(/^$/, '零') + unit[0][i] + s;
26+
}
27+
return head + s.replace(/(.)*/, '元')
28+
.replace(/(.)+/g, '零')
29+
.replace(/^$/, '零元整');
30+
}

0 commit comments

Comments
 (0)