UNPKG

same.js

Version:

A Class of Parallel Arrays Manipulation

675 lines (647 loc) 21.8 kB
function charNumber(numb) { if(isNaN(numb)) { try { _0Value() } catch(err) { console.log(err.message + "\n" + err.name + "\n" + err.stack); } } else { var ch = []; var final = ''; const minus = 'minus'; const _0 = 'zero'; const _1 = 'one'; const _2 = 'two'; const _3 = 'three'; const _4 = 'four'; const _5 = 'five'; const _6 = 'six'; const _7 = 'seven'; const _8 = 'eight'; const _9 = 'nine'; const _10 = 'ten'; const _11 = 'eleven'; const _12 = 'twelve'; const _13 = 'thirteen'; const _15 = 'fifteen'; const teen = 'teen'; const _20 = 'twenty'; const _30 = 'thirty'; const _40 = 'fourty'; const _50 = 'fifty'; const _60 = 'sixty'; const _70 = 'seventy'; const _80 = 'eighty'; const _90 = 'ninety'; const _100 = 'hundred'; const _1000 = 'thousand'; var isTen = false; var lastZero = 0; var isN = false; /* lastZero: { 0: neither hundreds or dozens = 0, 1: hundreds = 0, 2: hundreds and dozens = 0, 3: dozens = 0, 4: negative number } */ var str = String(numb); var strlg = str.length; while(str[0] == '0' && strlg > 1) { str = str.split('0', 1).pop(); strlg = str.length; } if(Number(str) < 0) { ch.push(minus + ' '); str = str.split('-').pop(); strlg = str.length; isN = true; } if(strlg == 4) { switch (Number(str[0])) { case 1: ch.push(_1 + ' ' + _1000); break; case 2: ch.push(_2 + ' ' + _1000); break; case 3: ch.push(_3 + ' ' + _1000); break; case 4: ch.push(_4 + ' ' + _1000);4 break; case 5: ch.push(_5 + ' ' + _1000); break; case 6: ch.push(_6 + ' ' + _1000); break; case 7: ch.push(_7 + ' ' + _1000); break; case 8: ch.push(_8 + ' ' + _1000); break; case 9: ch.push(_9 + ' ' + _1000); break; } switch (Number(str[1])) { case 0: ch.push(undefined); lastZero = 1; break; case 1: ch.push(' ' + _1 + ' ' + _100); break; case 2: ch.push(' ' + _2 + ' ' + _100); break; case 3: ch.push(' ' + _3 + ' ' + _100); break; case 4: ch.push(' ' + _4 + ' ' + _100); break; case 5: ch.push(' ' + _5 + ' ' + _100); break; case 6: ch.push(' ' + _6 + ' ' + _100); break; case 7: ch.push(' ' + _7 + ' ' + _100); break; case 8: ch.push(' ' + _8 + ' ' + _100); break; case 9: ch.push(' ' + _9 + ' ' + _100); break; } if(lastZero == 1) { switch (Number(str[2])) { case 0: ch.push(undefined); lastZero = 3; break; case 1: isTen = true; break; case 2: ch.push(' ' + _20); break; case 3: ch.push(' ' + _30); break; case 4: ch.push(' ' + _40); break; case 5: ch.push(' ' + _50); break; case 6: ch.push(' ' + _60); break; case 7: ch.push(' ' + _70); break; case 8: ch.push(' ' + _80); break; case 9: ch.push(' ' + _90); break; } } else if(lastZero == 0) { switch (Number(str[2])) { case 0: ch.push(undefined); lastZero = 2; break; case 1: ch.push(undefined); isTen = true; break; case 2: ch.push(' ' + _20); break; case 3: ch.push(' ' + _30); break; case 4: ch.push(' ' + _40); break; case 5: ch.push(' ' + _50); break; case 6: ch.push(' ' + _60); break; case 7: ch.push(' ' + _70); break; case 8: ch.push(' ' + _80); break; case 9: ch.push(' ' + _90); break; } } if(isTen) { switch (Number(str[3])) { case 0: ch.push(_10); break; case 1: ch.push(_11); break; case 2: ch.push(_12); break; case 3: ch.push(_13); break; case 4: ch.push(_4 + teen); break; case 5: ch.push(_15); break; case 6: ch.push(_6 + teen); break; case 7: ch.push(_7 + teen); break; case 8: ch.push(_8 + 'een'); break; case 9: ch.push(_9 + teen); break; } } else { if(lastZero == 2 || lastZero == 3) { switch (Number(str[3])) { case 0: ch.push(undefined); break; case 1: ch.push(_1); break; case 2: ch.push(_2); break; case 3: ch.push(_3); break; case 4: ch.push(_4); break; case 5: ch.push(_5); break; case 6: ch.push(_6); break; case 7: ch.push(_7); break; case 8: ch.push(_8); break; case 9: ch.push(_9); break; } } else { switch (Number(str[3])) { case 0: ch.push(undefined); break; case 1: ch.push('-' + _1); break; case 2: ch.push('-' + _2); break; case 3: ch.push('-' + _3); break; case 4: ch.push('-' + _4); break; case 5: ch.push('-' + _5); break; case 6: ch.push('-' + _6); break; case 7: ch.push('-' + _7); break; case 8: ch.push('-' + _8); break; case 9: ch.push('-' + _9); break; } } } let i = 0, one = 1, two = 2, three = 3; if(isN) { final = ch[i]; i++; one++; two++; three++; } if(ch[one] == undefined) { if(ch[two] == undefined && ch[three] == undefined) final += ch[i]; else if(ch[two] == undefined) final += ch[i] + ' ' + ch[three]; else final += ch[i] + ch[two] + ch[three]; } else if(ch[two] == undefined) { if(ch[three] == undefined) final += ch[i] + ch[one]; else final += ch[i] + ch[one] + ' ' + ch[three]; } else if(ch[three] == undefined) final += ch[i] + ch[one] + ch[two]; else final += ch[i] + ch[one] + ch[two] + ch[three]; return final; } if(strlg == 3) { switch (Number(str[0])) { case 1: ch.push(_1 + ' ' + _100); break; case 2: ch.push(_2 + ' ' + _100); break; case 3: ch.push(_3 + ' ' + _100); break; case 4: ch.push(_4 + ' ' + _100); break; case 5: ch.push(_5 + ' ' + _100); break; case 6: ch.push(_6 + ' ' + _100); break; case 7: ch.push(_7 + ' ' + _100); break; case 8: ch.push(_8 + ' ' + _100); break; case 9: ch.push(_9 + ' ' + _100); break; } switch (Number(str[1])) { case 0: ch.push(undefined); lastZero = 3; break; case 1: isTen = true; break; case 2: ch.push(' ' + _20); break; case 3: ch.push(' ' + _30); break; case 4: ch.push(' ' + _40); break; case 5: ch.push(' ' + _50); break; case 6: ch.push(' ' + _60); break; case 7: ch.push(' ' + _70); break; case 8: ch.push(' ' + _80); break; case 9: ch.push(' ' + _90); break; } if(isTen) { switch (Number(str[2])) { case 0: ch.push(' ' + _10); break; case 1: ch.push(' ' + _11); break; case 2: ch.push(' ' + _12); break; case 3: ch.push(' ' + _13); break; case 4: ch.push(' ' + _4 + teen); break; case 5: ch.push(' ' + _15); break; case 6: ch.push(' ' + _6 + teen); break; case 7: ch.push(' ' + _7 + teen); break; case 8: ch.push(' ' + _8 + 'een'); break; case 9: ch.push(' ' + _9 + teen); break; } } else { if(lastZero == 3) { switch (Number(str[2])) { case 0: ch.push(undefined); break; case 1: ch.push(_1); break; case 2: ch.push(_2); break; case 3: ch.push(_3); break; case 4: ch.push(_4); break; case 5: ch.push(_5); break; case 6: ch.push(_6); break; case 7: ch.push(_7); break; case 8: ch.push(_8); break; case 9: ch.push(_9); break; } } else { switch (Number(str[2])) { case 0: ch.push(undefined); break; case 1: ch.push('-' + _1); break; case 2: ch.push('-' + _2); break; case 3: ch.push('-' + _3); break; case 4: ch.push('-' + _4); break; case 5: ch.push('-' + _5); break; case 6: ch.push('-' + _6); break; case 7: ch.push('-' + _7); break; case 8: ch.push('-' + _8); break; case 9: ch.push('-' + _9); break; } } } let i = 0, one = 1, two = 2, three = 3; if(isN) { final = ch[i]; i++; one++; two++; three++; } if(ch[one] == undefined) { if(ch[two] == undefined) final += ch[i]; else final += ch[i] + ' ' + ch[two]; } else if(ch[two] == undefined) final += ch[i] + ch[one]; else final += ch[i] + ch[one] + ch[two]; return final; } if(strlg == 2) { switch (Number(str[0])) { case 1: isTen = true; break; case 2: ch.push(_20); break; case 3: ch.push(_30); break; case 4: ch.push(_40); break; case 5: ch.push(_50); break; case 6: ch.push(_60); break; case 7: ch.push(_70); break; case 8: ch.push(_80); break; case 9: ch.push(_90); break; } if(isTen) { switch (Number(str[1])) { case 0: ch.push(_10); break; case 1: ch.push(_11); break; case 2: ch.push(_12); break; case 3: ch.push(_13); break; case 4: ch.push(_4 + teen); break; case 5: ch.push(_15); break; case 6: ch.push(_6 + teen); break; case 7: ch.push(_7 + teen); break; case 8: ch.push(_8 + 'een'); break; case 9: ch.push(_9 + teen); break; } } else { switch (Number(str[1])) { case 0: ch.push(undefined); break; case 1: ch.push('-' + _1); break; case 2: ch.push('-' + _2); break; case 3: ch.push('-' + _3); break; case 4: ch.push('-' + _4); break; case 5: ch.push('-' + _5); break; case 6: ch.push('-' + _6); break; case 7: ch.push('-' + _7); break; case 8: ch.push('-' + _8); break; case 9: ch.push('-' + _9); break; } } let i = 0, one = 1, two = 2, three = 3; if(isN) { final = ch[i]; i++; one++; two++; three++; } if(ch[one] == undefined) final += ch[i]; else final += ch[i] + ch[one]; return final; } if(strlg == 1) { switch (Number(str[0])) { case 0: ch.push(_0); break; case 1: ch.push(_1); break; case 2: ch.push(_2); break; case 3: ch.push(_3); break; case 4: ch.push(_4); break; case 5: ch.push(_5); break; case 6: ch.push(_6); break; case 7: ch.push(_7); break; case 8: ch.push(_8); break; case 9: ch.push(_9); break; } if(isN) final = ch[0] + ch[1]; else final = ch[0]; return final; } } } module.exports.charNumber = charNumber;