Getallen omzetten in woorden met JavaScript

click fraud protection

Veel programmeren omvat berekeningen met getallen en u kunt getallen gemakkelijk opmaken voor weergave door komma's, decimalen, negatieve tekens en andere geschikte tekens toe te voegen, afhankelijk van het soort getal dat het is.

Maar u presenteert uw resultaten niet altijd als onderdeel van een wiskundige vergelijking. Het web voor de algemene gebruiker gaat meer over woorden dan over cijfers, dus soms is een nummer dat wordt weergegeven als een nummer niet geschikt.

In dit geval heeft u het equivalent van het getal in woorden nodig, niet in cijfers. Dit is waar je moeilijkheden kunt tegenkomen. Hoe converteer je de numerieke resultaten van je berekeningen als je het getal in woorden nodig hebt?

Als u deze conversies op uw site wilt kunnen uitvoeren, heeft u een JavaScript-code nodig die de conversie voor u kan uitvoeren. De eenvoudigste manier om dit te doen is door de code hieronder; selecteer gewoon de code en kopieer deze naar een bestand met de naam toword.js.

// Zet getallen om in woorden

instagram viewer

// copyright 25 juli 2006, door Stephen Chapman http://javascript.about.com
// toestemming om dit Javascript op uw webpagina te gebruiken wordt verleend
// op voorwaarde dat alle code (inclusief deze copyrightvermelding) dat is
// precies gebruikt zoals afgebeeld (u kunt het nummeringssysteem wijzigen als u dat wilt)

// Amerikaans nummeringssysteem
var th = ['', 'duizend', 'miljoen', 'miljard', 'biljoen'];
// verwijder deze regel voor English Number System
// var th = ['', 'duizend', 'miljoen', 'miljard', 'miljard'];

var dg = ['nul', 'één', 'twee', 'drie', 'vier',
'vijf', 'zes', 'zeven', 'acht', 'negen']; var tn =
['tien', 'elf', 'twaalf', 'dertien', 'veertien', 'vijftien', 'zestien',
'zeventien', 'achttien', 'negentien']; var tw = ['twintig', 'dertig', 'veertig', 'vijftig',
'zestig', 'zeventig', 'tachtig', 'negentig']; functie toWords (s) {s = s.toString (); s =
s.replace (/ [\,] / g, ''); if (s! = parseFloat (s)) retourneert 'geen getal'; var x =
s.indexOf ('.'); if (x == -1) x = s.length; als (x> 15) 'te groot' retourneert; var n =
s.split (''); var str = ''; var sk = 0; voor (var i = 0; ik ((x-i)% 3 == 2) {if (n [i] == '1') {str + = tn [Number (n [i + 1])] + ''; i ++; sk = 1;}
anders als (n [i]! = 0) {str + = tw [n [i] -2] + ''; sk = 1;}} anders als (n [i]! = 0) {str + =
dg [n [i]] + ''; if ((x-i)% 3 == 0) str + = 'honderd'; sk = 1;} if ((x-i)% 3 == 1) {if (sk)
str + = th [(x-i-1) / 3] + ''; sk = 0;}} als (x! = s.length) {var y = s.length; str + =
'punt'; voor (var i = x + 1; istr.replace (/ \ s + / g, '');}

De laatste stap is om het script aan te roepen om de conversie naar woorden voor je uit te voeren. Om een ​​getal in woorden om te zetten, hoeft u alleen maar de functie die het doorgeeft het nummer te noemen dat u wilt converteren en de bijbehorende woorden worden geretourneerd.

Merk op dat deze functie getallen zo groot als 999.999.999.999.999 kan omzetten in woorden en met zoveel decimalen als je wilt. Als u probeert een aantal groter dan dat het "te groot" terugkeert.

Nummers, komma's, spaties en een enkele punt voor de komma zijn de enige acceptabele tekens die kunnen worden gebruikt voor het nummer dat wordt geconverteerd. Als het iets anders dan deze tekens bevat, retourneert het "geen getal".

instagram story viewer