| /*
|
| Chuyển đổi một số nguyên không âm sang đại diện từ tiếng Anh của nó. Đầu vào được đưa ra được đảm bảo là nhỏ hơn 2^31 - 1.
|
|
|
| Ví dụ,
|
| 123 -> "Một trăm hai mươi ba"
|
| 12345 -> "Mười hai ngàn ba trăm bốn mươi năm"
|
| 1234567 -> "Một triệu hai trăm ba mươi bốn ngàn năm trăm sáu mươi bảy"
|
|
|
| ít hơn 2 tỷ ->
|
| */
|
|
|
| constupToTwenty=['',"One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Eleven", upToTwenty = ['', "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten","Eleven",
|
| "Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"];, "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"];
|
|
|
| consttens=['',"Ten","Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety"] tens = ['', "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"]
|
|
|
| constthousands=['','Thousand','Million','Billion']; thousands = ['', 'Thousand', 'Million', 'Billion'];
|
|
|
| functionnumToWords(num){ numToWords(num) {
|
|
|
| // Chuyển đổi số đầu vào thành chuỗi
|
| // Nếu số lượng lớn hơn 12 vị trí
|
| // trả lại 0 nó sẽ quá lớn
|
| if (num.toString (). length> 12) return'too lớn '; (num.toString().length > 12) return 'TOO BIG';
|
|
|
| if(num===0){ (num === 0) {
|
| return0; 0;
|
| }
|
|
|
| letcounter=0; counter = 0;
|
| // crete một chuỗi kết quả ''
|
| letres=''; res = '';
|
| // Chúng tôi có các biểu diễn chuỗi
|
|
|
| // trong khi số là> 0
|
| while(num>0){ (num > 0) {
|
| // số là % 1000 không phải 0
|
| // Đặt kết quả STING bằng với người trợ giúp (NUM hiện tại%1000) + Bộ đếm AN
|
| if(num%1000!==0){ (num % 1000 !== 0) {
|
| res=`${getNums(num%1000)}${thousands[counter]}${res}`; = `${getNums(num%1000)} ${thousands[counter]} ${res}`;
|
| }
|
| // crete một chuỗi kết quả ''
|
| // Chúng tôi có các biểu diễn chuỗi
|
| num=Math.floor(num/1000); = Math.floor(num / 1000);
|
| counter++;++;
|
| }
|
|
|
| returnres; res;
|
| }
|
|
|
| constgetNums=number=>{ getNums = number => {
|
| // crete một chuỗi kết quả ''
|
| // Chúng tôi có các biểu diễn chuỗi
|
| if(number===0){ (number === 0) {
|
| return''; '';
|
| }
|
| elseif(number if (number < 20) {
|
| returnupToTwenty[number]; upToTwenty[number];
|
| }
|
| elseif(number if (number < 100) {
|
| return`${tens[Math.floor(number/10)]}${getNums(number%10)}`; `${tens[Math.floor(number/10)]} ${getNums(number % 10)}`;
|
| }
|
| else{ {
|
| // crete một chuỗi kết quả '' `${upToTwenty[Math.floor(number/100)]} Hundred ${getNums(number%100)}`;
|
| }
|
| // crete một chuỗi kết quả ''
|
| // Chúng tôi có các biểu diễn chuỗi
|
| // trong khi số là> 0
|
| // số là % 1000 không phải 0
|
|
|
| // Đặt kết quả STING bằng với người trợ giúp (NUM hiện tại%1000) + Bộ đếm AN
|
| // num = num/1000
|
| }
|
|
|
| lettestNum=1234*5678*9000 testNum = 1234 *5678 * 9000
|
| letresult=numToWords(testNum); result = numToWords(testNum);
|
| console.log(result);.log(result);
|