Conversion de nombres en texte en C#
La conversion de valeurs numériques vers leur forme littérale correspondante est une tâche courante en programmation. Cette conversion est particulièrement utile dans divers scénarios, tels que la génération de factures, l'automatisation des annonces vocales ou le traitement des commandes vocales.
Une approche consiste à utiliser une combinaison d'arithmétique modulaire, d'instructions conditionnelles et de tableaux ou dictionnaires prédéfinis pour mapper les nombres et les groupes de nombres à leurs représentations littérales correspondantes. Voici un exemple implémenté en C# :
<code class="language-csharp">public static string NumberToWords(int number) { // 处理零和负数的特殊情况 if (number == 0) return "zero"; else if (number < 0) return "minus " + NumberToWords(-number); string words = ""; // 处理百万 if (number >= 1000000) { words += NumberToWords(number / 1000000) + " million "; number %= 1000000; } // 处理千位 if (number >= 1000) { words += NumberToWords(number / 1000) + " thousand "; number %= 1000; } // 处理百位 if (number >= 100) { words += NumberToWords(number / 100) + " hundred "; number %= 100; } // 处理剩余数字 if (number > 0) { if (words != "") words += "and "; string[] units = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" }; string[] tens = { "zero", "ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety" }; if (number < 20) words += units[number]; else { words += tens[number / 10]; if (number % 10 > 0) words += "-" + units[number % 10]; } } return words.Trim(); }</code>
Pour utiliser cette méthode, fournissez simplement un entier comme paramètre et il renverra l'équivalent littéral de ce nombre. Par exemple, NumberToWords(123)
renverra « cent vingt-trois » et NumberToWords(-543)
renverra « moins cinq cent quarante-trois ». Le code a été amélioré pour gérer l'utilisation du connecteur "et" et une gestion plus claire des nombres négatifs et zéro. La méthode Trim()
est utilisée pour supprimer les espaces supplémentaires.
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!