Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <body>
- <h3>Problem 8. Number as words</h3>
- <p>Write a script that converts a number in the range [0…999] to words, corresponding to its English pronunciation.</p>
- <textarea rows="3" cols="60" id="number-as-word" placeholder="Enter number"></textarea>
- <button onclick="convertNumberToWord()">Convert!</button>
- <script> function convertNumberToWord() {
- var numInput = parseInt(document.getElementById('number-as-word').value);
- var hundreds = Math.floor(numInput /100);
- var tens = (Math.floor(numInput/10)) % 10;
- var digits = numInput % 10;
- var result = '';
- if(hundreds !==0) {
- if(tens !== 0 || digits !== 0){
- result = getDigitToWord(hundreds) + ' ' + 'hundred and' + ' ' ;
- } else if (tens === 0 && digits === 0){
- result = getDigitToWord(hundreds) + ' ' + 'hundred';
- }
- } if (tens !== 0 && tens !==1) {
- result += getDigitToWord(tens *10) + ' ' + getDigitToWord(digits);
- } if (tens === 1){
- result += getDigitToWord(numInput %100);
- } if (tens === 0){
- result += getDigitToWord(digits);
- }
- document.getElementById('number-as-word').value = result;
- }
- function getDigitToWord(digitInput) {
- switch (digitInput) {
- case 0: return '';
- case 1: return 'one';
- case 2: return 'two';
- case 3: return 'three';
- case 4: return 'four';
- case 5: return 'five';
- case 6: return 'six';
- case 7: return 'seven';
- case 8: return 'eight';
- case 9: return 'nine';
- case 10: return 'ten';
- case 11: return 'eleven';
- case 12: return 'twelve';
- case 13: return 'thirteen';
- case 14: return 'fourteen';
- case 15: return 'fifteen';
- case 16: return 'sixteen';
- case 17: return 'seventeen';
- case 18: return 'eighteen';
- case 19: return 'nineteen';
- case 20: return 'twenty';
- case 30: return 'thirty';
- case 40: return 'forty';
- case 50: return 'fifty';
- case 60: return 'sixty';
- case 70: return 'seventy';
- case 80: return 'eighty';
- case 90: return 'ninety';
- }
- }</script>
- </body>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement