Masser af programmering involverer beregninger med tal, og du kan nemt formatere tal til visning ved at tilføje kommaer, decimaler, negative tegn og andre passende tegn afhængigt af typen af nummer det er.
Men du præsenterer ikke altid dine resultater som en del af en matematisk ligning. Internettet for den generelle bruger handler mere om ord end det handler om tal, så nogle gange er et tal, der vises som et nummer, ikke passende.
I dette tilfælde har du brug for ækvivalenten med antallet i ord, ikke i tal. Det er her du kan støde på vanskeligheder. Hvordan konverterer du de numeriske resultater af dine beregninger, når du har brug for det nummer, der vises i ord?
Hvis du vil være i stand til at udføre disse konverteringer på dit websted, har du brug for en JavaScript-kode, der kan gøre konverteringen for dig. Den enkleste måde at gøre dette på er at bruge kode under; vælg bare koden og kopier den til en kaldet fil toword.js.
// Konverter tal til ord
// copyright 25. juli 2006 af Stephen Chapman http://javascript.about.com
// tilladelse til at bruge dette Javascript på din webside gives
// forudsat at al kode (inklusive denne copyright-meddelelse) er
// brugt nøjagtigt som vist (du kan ændre nummereringssystemet, hvis du ønsker det)
// Amerikansk nummereringssystem
var th = ['', 'tusinde', 'millioner', 'milliarder', 'billioner'];
// fjern denne linie for det engelske nummersystem
// var th = ['', 'tusind', 'millioner', 'milliard', 'milliarder'];
var dg = ['nul', 'en', 'to', 'tre', 'fire',
'Fem', 'seks', 'syv', 'otte', 'ni']; var tn =
['ti', 'elleve', 'tolv', 'tretten', 'fjorten', 'femten', 'seksten',
'Sytten', 'atten', 'nitten']; var tw = ['tyve', 'tredive', 'fyrre', 'halvtreds',
'Tres', 'halvfjerds', 'firs', 'halvfems']; funktion til AdWords (r) {s = s.toString (); s =
s.replace (/ [\,] / g, ''); hvis (s! = parseFloat (s)) returnerer 'ikke et tal'; var x =
s.indexOf ( ''); hvis (x == -1) x = s. længde; hvis (x> 15) returnerer 'for stort'; var n =
s.split ( ''); var str = ''; var sk = 0; for (var i = 0; i
ellers hvis (n [i]! = 0) {str + = tw [n [i] -2] + ''; sk = 1;}} andet hvis (n [i]! = 0) {str + =
dg [n [i]] + ''; hvis ((x-i)% 3 == 0) str + = 'hundrede'; sk = 1;} if ((x-i)% 3 == 1) {if (sk)
str + = th [(x-i-1) / 3] + ''; sk = 0;}} if (x! = s.length) {var y = s.length; str + =
'punkt'; for (var i = x + 1; istr.replace (/ \ s + / g, '');}
Det sidste trin er at kalde scriptet for at udføre konverteringen til ord for dig. For at få et tal konverteret til ord skal du bare kalde den funktion, der passerer det, det nummer, du vil konvertere, og de tilsvarende ord returneres.
Bemærk, at denne funktion kan konvertere tal så store som 999.999.999.999.999 til ord og med så mange decimaler, som du vil. Hvis du prøver at konvertere en nummer større end at det vil vende tilbage "for stort."
Tal, kommaer, mellemrum og en enkelt periode for decimalpunktet er de eneste accepterede tegn, der kan bruges til det antal, der konverteres. Hvis det indeholder noget ud over disse tegn, returnerer det "ikke et tal."