숫자를 Lakhs/Crores로 변환
개발자로서 숫자를 단어로 변환하는 작업을 자주 접하게 됩니다. 기존 코드 옵션이 길어 보일 수 있지만 이 기사에서는 보다 간결한 접근 방식을 제시하는 것을 목표로 합니다.
기존 방법
주어진 코드는 단어 변환을 위해 정규식과 루프를 사용합니다.
<code class="javascript">var th = ['','thousand','million', 'billion','trillion']; var dg = ['zero','one','two','three','four', 'five','six','seven','eight','nine']; var tn = ['ten','eleven','twelve','thirteen', 'fourteen','fifteen','sixteen', 'seventeen','eighteen','nineteen']; var tw = ['twenty','thirty','forty','fifty', 'sixty','seventy','eighty','ninety']; function toWords(s) { ... }</code>
남아시아 번호 체계
그러나 이 코드는 서양 번호 체계(백만/십억)를 사용하여 숫자를 변환합니다. 남아시아 시스템(lakhs/crores)에 맞게 조정하려면 수정이 필요합니다.
간결한 코드
다음 코드는 간소화된 솔루션을 제공합니다.
<code class="javascript">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>
이 수정된 코드는 lakhs 및 crores를 계산하는 남아시아 번호 체계에서 숫자를 단어로 변환합니다.
위 내용은 JavaScript에서 숫자를 Lakhs 및 Crores로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!