(Ceci est une republication de mon blog tumblr abandonné ; daté du 17/11/2016)
Un client a demandé que nous épelions des chiffres sur son site Web afin de clarifier certains totaux financiers. J'avais initialement prévu d'utiliser l'UDF ColdFusion NumberAsString de 2002. Après avoir examiné les résultats, j'ai pensé que cela valait la peine d'effectuer une comparaison de tests unitaires pour examiner les résultats par rapport à ICU4J (java).
En fin de compte, j'ai décidé d'utiliser ICU4J parce que :
- ICU4J convertit le texte en utilisant plus de 180 paramètres régionaux. Les chiffres sont traduits dans chaque langue (chinois, thaïlandais, français, espagnol, etc.)
- UDF ajoute une majuscule au titre à toutes les chaînes numériques. (si nécessaire, vous pouvez le faire séparément.)
- UDF ne prend pas en charge les valeurs négatives et générera une erreur CF.
- UDF n'utilise pas de nombres avec trait d'union ("Quarante-trois" contre "quarante-trois")
- UDF utilise le format « cardinal-verbeux » sans chiffres avec trait d'union (ajoute le mot « et » là où devraient être les virgules.)
- Les décimales UDF sont traitées comme des mots numériques de type positif (au lieu d'utiliser "point quatre trois" pour ".43")
123 = "one hundred twenty-three"
100001 = "one hundred thousand one"
9 = "nine"
64578.25 = "sixty-four thousand five hundred seventy-eight point two five"
0.333 = "zero point three three three"
Voici le code source CFML :
https://gist.github.com/JamoCA/cd343524e417f382d5c706954e52dfaf
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn