Lakh/Crore 시스템에서 숫자를 단어로 변환
특히 남아시아 번호 매기기에 따라 숫자를 단어로 변환하려고 합니다. lakh 및 crore 시스템으로 알려진 시스템입니다. 불행하게도 현재 작성하신 코드는 "million" 및 "billion"과 같은 용어를 사용하는 영어 번호 매기기 시스템을 활용하고 있습니다.
원하는 결과를 얻으려면 더 적은 코드 줄로 더 간단한 접근 방식을 선택할 수 있습니다. . 간결하고 효율적인 버전은 다음과 같습니다.
<code class="js">var a = ['','one ','two ','three ','four ', 'five ','six ','seven ','eight ','nine ','ten ','eleven ','twelve ','thirteen ','fourteen ','fifteen ','sixteen ','seventeen ','eighteen ','nineteen ']; var b = ['', '', 'twenty','thirty','forty','fifty', 'sixty','seventy','eighty','ninety']; function inWords (num) { if ((num = num.toString()).length > 9) return 'overflow'; n = ('000000000' + num).substr(-9).match(/^(\d{2})(\d{2})(\d{2})(\d{1})(\d{2})$/); if (!n) return; var str = ''; str += (n[1] != 0) ? (a[Number(n[1])] || b[n[1][0]] + ' ' + a[n[1][1]]) + 'crore ' : ''; str += (n[2] != 0) ? (a[Number(n[2])] || b[n[2][0]] + ' ' + a[n[2][1]]) + 'lakh ' : ''; str += (n[3] != 0) ? (a[Number(n[3])] || b[n[3][0]] + ' ' + a[n[3][1]]) + 'thousand ' : ''; str += (n[4] != 0) ? (a[Number(n[4])] || b[n[4][0]] + ' ' + a[n[4][1]]) + 'hundred ' : ''; str += (n[5] != 0) ? ((str != '') ? 'and ' : '') + (a[Number(n[5])] || b[n[5][0]] + ' ' + a[n[5][1]]) + 'only ' : ''; return str; }</code>
이 개선된 코드는 여러 가지 주목할만한 이점을 제공합니다.
다음은 코드를 테스트하는 데 사용할 수 있는 실제 예입니다.
<code class="html"><span id="words"></span> <input id="number" type="text" /></code>
<code class="js">document.getElementById('number').onkeyup = function () { document.getElementById('words').innerHTML = inWords(document.getElementById('number').value); };</code>
By 이 코드를 프로젝트에 통합하면 숫자를 lakh 및 crore 시스템의 단어로 효율적이고 정확하게 변환할 수 있습니다. 추가 질문이 있거나 도움이 필요하면 알려주시기 바랍니다.
위 내용은 Lakh/Crore 시스템을 사용하여 숫자를 단어로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!