Beaucoup de programmation implique des calculs avec des nombres, et vous pouvez facilement formater des nombres pour les afficher en ajoutant des virgules, des décimales, des signes négatifs et d'autres caractères appropriés selon le type de nombre..
Mais vous ne présentez pas toujours vos résultats dans le cadre d'une équation mathématique. Le Web pour l'utilisateur général est plus sur les mots que sur les nombres, donc parfois un nombre affiché comme un nombre n'est pas approprié.
Dans ce cas, vous avez besoin de l'équivalent du nombre en mots, pas en chiffres. C'est là que vous pouvez rencontrer des difficultés. Comment convertir les résultats numériques de vos calculs lorsque vous avez besoin du nombre affiché en mots?
La conversion d'un nombre en mots n'est pas exactement la tâche la plus simple, mais cela peut être fait en utilisant JavaScript qui n'est pas trop complexe.
Si vous souhaitez pouvoir effectuer ces conversions sur votre site, vous aurez besoin d'un code JavaScript qui peut effectuer la conversion pour vous. La façon la plus simple de le faire est d'utiliser le code ci-dessous; il suffit de sélectionner le code et de le copier dans un fichier appelé toword.js.
// Convertir des nombres en mots
// copyright 25 juillet 2006, par Stephen Chapman http://javascript.about.com
// l'autorisation d'utiliser ce Javascript sur votre page Web est accordée
// à condition que tout le code (y compris cet avis de copyright) soit
// utilisé exactement comme indiqué (vous pouvez changer le système de numérotation si vous le souhaitez)
// Système de numérotation américain
var th = ["," mille "," millions "," milliards "," trillions "];
// commentez cette ligne pour English Number System
// var th = [", 'mille', 'million', 'milliard', 'milliard'];
var dg = ['zéro', 'un', 'deux', 'trois', 'quatre',
«cinq», «six», «sept», «huit», «neuf»]; var tn =
["dix", "onze", "douze", "treize", "quatorze", "quinze", "seize",
«dix-sept», «dix-huit», «dix-neuf»]; var tw = ['vingt', 'trente', 'quarante', 'cinquante',
«soixante», «soixante-dix», «quatre-vingt», «quatre-vingt-dix»]; fonction toWords (s) s = s.toString (); s =
s.replace (/ [\,] / g, "); if (s! = parseFloat (s)) renvoie 'not a number'; var x =
s.indexOf ('.'); if (x == -1) x = s.length; si (x> 15) retourne «trop grand»; var n =
s.split ("); var str ="; var sk = 0; pour (var i = 0; i < x; i++) if
((x-i)% 3 == 2) if (n [i] == '1') str + = tn [Number (n [i + 1])] + "; i ++; sk = 1;
else if (n [i]! = 0) str + = tw [n [i] -2] + "; sk = 1; else if (n [i]! = 0) str + =
dg [n [i]] + "; if ((x-i)% 3 == 0) str + = 'centaines'; 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 + =
'point '; pour (var i = x + 1; istr.replace (/ \ s + / g, ");
Ensuite, liez le script dans l'en-tête de votre page à l'aide du code suivant:
var mots = toWords (num);
La dernière étape consiste à appeler le script pour effectuer la conversion en mots pour vous. Pour obtenir un nombre converti en mots, il vous suffit d'appeler la fonction en lui passant le nombre que vous souhaitez convertir et les mots correspondants seront retournés.
Notez que cette fonction peut convertir des nombres aussi grands que 999 999 999 999 999 en mots et avec autant de décimales que vous le souhaitez. Si vous essayez de convertir un nombre plus grand que cela, il retournera "trop grand".
Les nombres, les virgules, les espaces et une seule période pour le point décimal sont les seuls caractères acceptables qui peuvent être utilisés pour le nombre en cours de conversion. S'il contient quelque chose au-delà de ces caractères, il renverra «pas un nombre».
Si vous souhaitez convertir des nombres négatifs de valeurs monétaires en mots, vous devez d'abord supprimer ces symboles du nombre et les convertir séparément en mots.