-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconvertScript.js
More file actions
49 lines (41 loc) · 1.13 KB
/
convertScript.js
File metadata and controls
49 lines (41 loc) · 1.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
function Num2word(number) {
const ones = [
'', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten',
'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen',
'eighteen', 'nineteen'
];
const tens = [
'', '', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety'
];
let word = '';
if (number === 0) {
return 'zero dollars';
}
if (number < 0) {
word += 'negative ';
number = Math.abs(number);
}
if (Math.floor(number / 1000000) > 0) {
word += Num2word(Math.floor(number / 1000000)) + ' million ';
number %= 1000000;
}
if (Math.floor(number / 1000) > 0) {
word += Num2word(Math.floor(number / 1000)) + ' thousand ';
number %= 1000;
}
if (Math.floor(number / 100) > 0) {
word += Num2word(Math.floor(number / 100)) + ' hundred ';
number %= 100;
}
if (number > 0) {
if (number < 20) {
word += ones[number];
} else {
word += tens[Math.floor(number / 10)];
if (number % 10 > 0) {
word += '-' + ones[number % 10];
}
}
}
return word.trim()
}