Skaičių konvertavimas į žodžius naudojant „JavaScript“

Daug programavimas apima skaičiavimus su skaičiais, o numerius galite lengvai formatuoti rodydami pridedami kableliais, dešimtainiais ženklais, neigiamaisiais ženklais ir kitomis tinkamomis raidėmis, atsižvelgiant į tai, kokio tipo jis yra.

Bet jūs ne visada pateikiate savo rezultatus kaip matematinės lygties dalį. Plačiajam vartotojui žiniatinklis labiau skirtas ne žodžiams, o žodžiams, todėl kartais rodomas skaičius netinka.

Tokiu atveju jums reikia skaičiaus ekvivalento žodžiais, o ne skaitmenimis. Čia galite susidurti su sunkumais. Kaip konvertuoti skaičiavimų skaitinius rezultatus, kai jums reikia skaičiaus, rodomo žodžiais?

Jei norite atlikti šias konversijas savo svetainėje, jums reikės „JavaScript“ kodo, kuris galėtų jums paversti konversijas. Paprasčiausias būdas tai padaryti yra naudoti kodas žemiau; tiesiog pasirinkite kodą ir nukopijuokite jį į failą, vadinamą toword.js.

// Konvertuokite skaičius į žodžius
// autorių teisės 2006 m. liepos 25 d., autorius Stephenas Chapmanas http://javascript.about.com

instagram viewer

// Suteiktas leidimas naudoti šį „Javascript“ savo tinklalapyje
// su sąlyga, kad visas kodas (įskaitant šį autorių teisių pranešimą) yra
// naudojamas tiksliai taip, kaip parodyta (jei norite, galite pakeisti numeravimo sistemą)

// Amerikos numeravimo sistema
var th = ['', 'tūkstantis', 'milijonas', 'milijardas', 'trilijonas'];
// nekomentuokite šios eilutės angliškai numerių sistemai
// var th = ['', 'tūkstantis', 'milijonas', 'milijardas', 'milijardas'];

var dg = ['nulis', 'vienas', 'du', 'trys', 'keturi',
„penki“, „šeši“, „septyni“, „aštuoni“, „devyni“]; var tn =
[„dešimt“, „vienuolika“, „dvylika“, „trylika“, „keturiolika“, „penkiolika“, „šešiolika“,
„septyniolika“, „aštuoniolika“, „devyniolika“]; var tw = [„dvidešimt“, „trisdešimt“, „keturiasdešimt“, „penkiasdešimt“,
'šešiasdešimt', 'septyniasdešimt', 'aštuoniasdešimt', 'devyniasdešimt']; funkcija toWords (s) {s = s.toString (); s =
s.pakeisti (/ [\,] / g, ''); if (s! = parseFloat (s)) grąžina „ne skaičių“; var x =
s.indexOf ('.'); if (x == -1) x = s.length; if (x> 15) grįžti „per didelis“; var n =
s.splitas (''); var str = ''; var sk = 0; už (var i = 0; i ((x-i)% 3 == 2) {if (n [i] == '1') {str + = tn [skaičius (n [i + 1])] + ''; i ++; sk = 1;}
dar jei (n [i]! = 0) {str + = tw [n [i] -2] + ''; sk = 1;}} dar jei (n [i]! = 0) {str + =
dg [n [i]] + ''; if ((x-i)% 3 == 0) str + = 'šimtas'; sk = 1;} if ((x-i)% 3 == 1) {if (sk)
str + = th [(x-i-1) / 3] + ''; sk = 0;}}, jei (x! = s.length) {var y = s.length; str + =
'taškas'; už (var i = x + 1; istr.replace (/ \ s + / g, '');}

Paskutinis žingsnis yra iškviesti scenarijų, kad būtų galima paversti žodžius jums. Norėdami skaičių paversti žodžiais, jums tereikia paskambinti funkcijai perduoti, kurį norite konvertuoti, ir atitinkami žodžiai bus grąžinti.

Atminkite, kad ši funkcija gali paversti tokius didelius skaičius kaip 999,999,999,999,999 į žodžius su tiek dešimtųjų tikslumu, kiek jums patinka. Jei bandysite konvertuoti skaičius didesnis nei jis grįš „per didelis“.

Skaičiai, kableliai, tarpai ir vienas taškas po kablelio yra vieninteliai priimtini simboliai, kuriuos galima naudoti konvertuojamiems skaičiams. Jei jame nėra nieko, išskyrus šiuos ženklus, grįš „ne skaičius“.