Numbrite teisendamine sõnadeks JavaScripti abil

click fraud protection

Palju programmeerimine hõlmab arvutusi numbritega ja saate numbreid kuvamiseks hõlpsalt vormindada, lisades komade, kümnendkohtade, negatiivsete märkide ja muude sobivate märkidega, olenevalt numbri liigist.

Kuid te ei esita oma tulemusi alati matemaatilise võrrandi osana. Veeb tavakasutaja jaoks on rohkem sõnade kui numbrite kohta, nii et mõnikord pole numbrina kuvatav number sobiv.

Sel juhul vajate arvu ekvivalenti sõnadega, mitte numbritega. See on koht, kus võite raskustesse sattuda. Kuidas teisendada arvutuste numbrilisi tulemusi, kui vajate sõnadega kuvatavat arvu?

Kui soovite neid konversioone oma saidil teha, vajate JavaScripti koodi, mis saaks teie eest teisendada. Lihtsaim viis selleks on kasutada nuppu kood allpool; vali lihtsalt kood ja kopeeri see faili nimega toword.js.

// Teisendage numbrid sõnadeks
// autoriõigused 25. juuli 2006, autor Stephen Chapman http://javascript.about.com
// antakse luba selle Javascripti kasutamiseks oma veebilehel
// eeldusel, et kogu kood (sh käesolev autoriõiguse teatis) on

instagram viewer

// kasutatud täpselt nii, nagu näidatud (numeratsioonisüsteemi saate soovi korral muuta)

// Ameerika nummerdamissüsteem
var th = ['', 'tuhat', 'miljon', 'miljard', 'triljon'];
// tühista see rida inglise numbrisüsteemi jaoks
// var th = ['', 'tuhat', 'miljon', 'miljard', 'miljard'];

var dg = ['null', 'üks', 'kaks', 'kolm', 'neli',
'viis', 'kuus', 'seitse', 'kaheksa', 'üheksa']; var tn =
['kümme', 'üksteist', 'kaksteist', 'kolmteist', 'neliteist', 'viisteist', 'kuusteist',
'seitseteist', 'kaheksateist', 'üheksateist']; var tw = ['kakskümmend', 'kolmkümmend', 'nelikümmend', 'viiskümmend',
'kuuskümmend', 'seitsekümmend', 'kaheksakümmend', 'üheksakümmend']; funktsioon toWords (id) {s = s.toString (); s =
s.replace (/ [\,] / g, ''); if (s! = parssefloat (s)) tagastab 'mitte arvu'; var x =
s.indexOf ('.'); if (x == -1) x = s.pikkus; if (x> 15) tagastab 'liiga suur'; var n =
s.split (''); var str = ''; var sk = 0; jaoks (var i = 0; i ((x-i)% 3 == 2) {if (n [i] == '1') {str + = tn [arv (n [i + 1])] + ''; i ++; sk = 1;}
muidu kui (n [i]! = 0) {str + = tw [n [i] -2] + ''; sk = 1;}} veel kui (n [i]! = 0) {str + =
dg [n [i]] + ''; if ((x-i)% 3 == 0) str + = 'sada'; sk = 1;} if ((x-i)% 3 == 1) {if (sk)
str + = th [(x-i-1) / 3] + ''; sk = 0;}}, kui (x! = s.pikkus) {var y = s.length; str + =
'punkt'; jaoks (var i = x + 1; istr.replace (/ \ s + / g, '');}

Viimane samm on helistada skriptile, et teie jaoks sõnadeks teisendada. Kui soovite numbri sõnadeks teisendada, peate lihtsalt helistama funktsiooni, mis seda teisendab, teisendama soovite, ja vastavad sõnad saadetakse tagasi.

Pange tähele, et see funktsioon suudab teisendada numbrid nii suureks kui 999,999,999,999,999 sõnadeks ja nii palju komakohti, kui soovite. Kui proovite teisendada a number suurem kui see, tuleb see tagasi "liiga suureks".

Ainus vastuvõetav tähemärk, mida saab teisendatava numbri jaoks kasutada, on numbrid, koma, tühikud ja üks koma koma. Kui see sisaldab midagi peale nende märkide, tagastab see "mitte numbri".

instagram story viewer