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 convertissez-vous les résultats numériques de vos calculs lorsque vous avez besoin du nombre affiché en mots?
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 procéder consiste à utiliser le code au dessous de; 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)) retourne '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
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, '');}
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 reviendra "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».