Pretvarjanje števil v besede z uporabo JavaScript

Veliko programiranje vključuje izračune s številkami in številke za prikaz lahko preprosto formatirate tako, da dodate vejice, decimalke, negativne znake in druge ustrezne znake, odvisno od vrste številke.

Vendar svojih rezultatov ne predstavljate vedno kot del matematične enačbe. Splet za splošnega uporabnika je bolj za besede kot za številke, zato včasih številka, prikazana kot številka, ni primerna.

V tem primeru potrebujete ekvivalent števila v besedah, ne v številkah. Tu lahko naletite na težave. Kako pretvorite numerične rezultate svojih izračunov, ko potrebujete število, prikazano z besedami?

Če želite te konverzije opraviti na svojem spletnem mestu, potrebujete kodo JavaScript, ki lahko pretvorbo opravi namesto vas. Najpreprostejši način za to je uporaba Koda spodaj; samo izberite kodo in jo kopirajte v datoteko imenovano toword.js.

// Pretvori številke v besede
// avtorske pravice 25. julija 2006, avtor Stephen Chapman http://javascript.about.com
// dovoljenje za uporabo tega Javascript na vaši spletni strani je odobreno

instagram viewer

// pod pogojem, da je vsa koda (vključno s tem obvestilom o avtorskih pravicah)
// uporablja se točno tako, kot je prikazano (po potrebi lahko spremenite sistem oštevilčenja)

// Ameriški sistem oštevilčenja
var th = ['', 'tisoč', 'milijon', 'milijarda', 'bilijona'];
// razveljavi to vrstico za angleški številčni sistem
// var th = ['', 'tisoč', 'milijon', 'milijarda', 'milijarda'];

var dg = ['nič', 'ena', 'dva', 'tri', 'štiri',
'pet', 'šest', 'sedem', 'osem', 'devet']; var tn =
['deset', 'enajst', 'dvanajst', 'trinajst', 'štirinajst', 'petnajst', 'šestnajst',
'sedemnajst', 'osemnajst', 'devetnajst']; var tw = ['dvajset', 'trideset', 'štirideset', 'petdeset',
'šestdeset', 'sedemdeset', 'osemdeset', 'devetdeset']; funkcija toWords (s) {s = s.toString (); s =
s.replace (/ [\,] / g, ''); če (s! = parseFloat (s)) vrnejo „ni številka“; var x =
s.indexOf ('.'); če (x == -1) x = s.length; če (x> 15) vrneš "prevelik"; var n =
s.split (''); var str = ''; var sk = 0; za (var i = 0; i ((x-i)% 3 == 2) {if (n [i] == '1') {str + = tn [Število (n [i + 1])] + ''; i ++; sk = 1;}
drugače, če (n [i]! = 0) {str + = tw [n [i] -2] + ''; sk = 1;}} if if (n [i]! = 0) {str + =
dg [n [i]] + ''; if ((x-i)% 3 == 0) str + = 'sto'; 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 + =
'točka '; za (var i = x + 1; istr.replace (/ \ s + / g, '');}

Končni korak je, da pokličete skript za izvedbo pretvorbe za besede za vas. Če želite številko pretvoriti v besede, morate poklicati funkcijo, ki jo prenese, številko, ki jo želite pretvoriti, in ustrezne besede bodo vrnjene.

Upoštevajte, da lahko ta funkcija pretvori številke, večje od 999,999,999,999,999, v besede in s toliko decimalnih mest, kot želite. Če poskusite pretvoriti a številka večji od tega se bo vrnil "prevelik".

Številke, vejice, presledki in posamezno obdobje za decimalno vejico so edini sprejemljivi znaki, ki jih lahko uporabimo za pretvorjeno število. Če vsebuje karkoli zunaj teh znakov, se bo vrnilo "ne številka."