-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
68 lines (59 loc) · 2.39 KB
/
app.js
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
let inputHTML = document.querySelector('input');
let outputHTML = document.querySelector('p');
const ones = ['', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];
const teens = ['ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen'];
const tens = ['','','twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety'];
inputHTML.addEventListener('input', () => {
outputHTML.innerHTML = "Output: " + convertToWords(inputHTML.value);
})
function convertToWords(number) {
if(number == 0)
return "zero";
else if(number.length >= 16)
return "number should be less than 15 characters.";
else
return convertTrillion(number);
function convertTens(number) {
if(number < 10)
return ones[number];
else if(number >= 10 && number < 20)
return teens[number - 10];
else if(number >= 20 && number <= 99)
if(number % 10 != 0)
return tens[Math.floor(number / 10)] + '-' + ones[number % 10];
else
return tens[Math.floor(number / 10)];
else
return '';
}
function convertHundreds(number) {
if(number > 99)
return ones[Math.floor(number / 100)] + ' hundred ' + convertTens(number % 100);
else
return convertTens(number);
}
function convertThousands(number) {
if(number > 999)
return convertHundreds(Math.floor(number / 1000)) + ' thousand ' + convertHundreds(number % 1000);
else
return convertHundreds(number);
}
function convertMillions(number) {
if(number > 999999)
return convertThousands(Math.floor(number / 1000000)) + ' million ' + convertThousands(number % 1000000);
else
return convertThousands(number);
}
function convertBillion(number) {
if(number > 999999999)
return convertMillions(Math.floor(number / 1000000000)) + ' billion ' + convertMillions(number % 1000000000);
else
return convertMillions(number);
}
function convertTrillion(number) {
if(number > 999999999999)
return convertBillion(Math.floor(number / 1000000000000)) + ' trillion ' + convertBillion(number % 1000000000000);
else
return convertBillion(number);
}
}