Heim  >  Artikel  >  Web-Frontend  >  Wie konvertiert man Zahlen in JavaScript in Lakhs und Crores?

Wie konvertiert man Zahlen in JavaScript in Lakhs und Crores?

DDD
DDDOriginal
2024-11-06 16:54:03156Durchsuche

How to Convert Numbers to Lakhs and Crores in JavaScript?

Zahlen in Lakhs/Crores umrechnen

Als Entwickler steht man oft vor der Aufgabe, Zahlen in Wörter umzuwandeln. Auch wenn bestehende Codeoptionen langwierig erscheinen mögen, zielt dieser Artikel darauf ab, einen prägnanteren Ansatz vorzustellen.

Vorhandene Methode

Der angegebene Code verwendet reguläre Ausdrücke und Schleifen für die Wortkonvertierung:

<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>

Südasiatisches Nummerierungssystem

Allerdings Code konvertiert Zahlen mithilfe des westlichen Zahlensystems (Millionen/Milliarden). Um es an das südasiatische System (Lakhs/Crores) anzupassen, sind Änderungen erforderlich.

Prägnanter Code

Der folgende Code bietet eine optimierte Lösung:

<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>

Dieser überarbeitete Code wandelt Zahlen in Wörter im südasiatischen Zahlensystem um und berücksichtigt dabei Lakhs und Crores.

Das obige ist der detaillierte Inhalt vonWie konvertiert man Zahlen in JavaScript in Lakhs und Crores?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn