Conversione di numeri in parole utilizzando JavaScript

click fraud protection

Molti programmazione comporta calcoli con numeri e puoi facilmente formattare i numeri per la visualizzazione aggiungendo virgole, decimali, segni negativi e altri caratteri appropriati a seconda del tipo di numero.

Ma non stai sempre presentando i tuoi risultati come parte di un'equazione matematica. Il Web per l'utente generico riguarda più le parole che i numeri, quindi a volte un numero visualizzato come numero non è appropriato.

In questo caso, è necessario l'equivalente del numero in parole, non in cifre. È qui che puoi incontrare difficoltà. Come converti i risultati numerici dei tuoi calcoli quando hai bisogno del numero visualizzato in parole?

Se vuoi essere in grado di fare queste conversioni sul tuo sito, avrai bisogno di un codice JavaScript in grado di fare la conversione per te. Il modo più semplice per farlo è usare il codice sotto; basta selezionare il codice e copiarlo in un file chiamato toword.js.

// Converti i numeri in parole
// copyright 25 luglio 2006, di Stephen Chapman http://javascript.about.com

instagram viewer

// è concessa l'autorizzazione per utilizzare questo Javascript sulla tua pagina web
// a condizione che tutto il codice (incluso questo avviso sul copyright) sia
// usato esattamente come mostrato (è possibile modificare il sistema di numerazione se lo si desidera)

// Sistema di numerazione americano
var th = ['', 'mila', 'milione', 'miliardi', 'trilioni'];
// decommenta questa riga per il sistema numerico inglese
// var th = ['', 'mila', 'milione', 'miliardi', 'miliardi'];

var dg = ['zero', 'one', 'two', 'three', 'four',
'Cinque', 'sei', 'Seven', 'otto', 'nove']; var tn =
['dieci', 'undici', 'dodici', 'tredici', 'quattordici', 'quindici', 'sedici',
'Diciassette', 'diciotto', 'diciannove']; var tw = ["venti", "trenta", "quaranta", "cinquanta",
, 'Settanta' 'sessanta', 'ottanta', 'novanta']; function toWords (s) {s = s.toString (); s =
s.replace (/ [\,] / g, ''); if (s! = parseFloat (s)) restituisce 'non un numero'; var x =
s.indexOf ( ''); if (x == -1) x = lunghezza s; se (x> 15) restituisce 'troppo grande'; var n =
s.split ( ''); var str = ''; var sk = 0; per (var i = 0; i ((x-i)% 3 == 2) {if (n [i] == '1') {str + = tn [Numero (n [i + 1])] + ''; i ++; sk = 1;}
else if (n [i]! = 0) {str + = tw [n [i] -2] + ''; sk = 1;}} altrimenti if (n [i]! = 0) {str + =
dg [n [i]] + ''; if ((x-i)% 3 == 0) str + = 'cento'; sk = 1;} if ((x-i)% 3 == 1) {if (sk)
str + = th [(x-i-1) / 3] + ''; sk = 0;}} if (x! = lunghezza s) {var y = lunghezza s; str + =
'punto'; per (var i = x + 1; istr.replace (/ \ s + / g, '');}

Il passaggio finale è chiamare lo script per eseguire la conversione in parole per te. Per ottenere un numero convertito in parole devi solo chiamare la funzione passandogli il numero che vuoi convertire e le parole corrispondenti verranno restituite.

Nota che questa funzione può convertire numeri grandi come 999.999.999.999.999 in parole e con tutte le cifre decimali che desideri. Se provi a convertire a numero più grande di quello tornerà "troppo grande".

Numeri, virgole, spazi e un singolo punto per il punto decimale sono gli unici caratteri accettabili che possono essere utilizzati per il numero da convertire. Se contiene qualcosa oltre questi caratteri, restituirà "non un numero".

instagram story viewer