首頁 > 後端開發 > C++ > 如何在 C# 中將數字轉換為單字?

如何在 C# 中將數字轉換為單字?

Susan Sarandon
發布: 2025-01-24 14:17:10
原創
869 人瀏覽過

How to Convert Numbers to Words in C#?

C#數位轉文字詳解

將數字轉換為文字是程式設計中常見的任務,C# 提供了一種直接的方法來實現此功能。以下程式碼範例可以作為您的起點:

<code class="language-csharp">public static string NumberToWords(int number)
{
    string words = "";

    if (number < 0)
    {
        words += "minus ";
        number = -number;
    }

    if (number == 0)
        return "zero";

    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[] unitsMap = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };
        string[] tensMap = { "zero", "ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety" };

        if (number < 20)
            words += unitsMap[number];
        else
        {
            words += tensMap[number / 10];
            if (number % 10 > 0)
                words += "-" + unitsMap[number % 10];
        }
    }

    return words.Trim();
}</code>
登入後複製

程式碼重點:

  • NumberToWords 函數接收一個整數作為輸入,並傳回其文字表示形式的字串。
  • 此函數處理負數,在轉換後的正數文字前面加上 "minus"。
  • 函數將數字分組為百萬、千、百和個位元。對於每個組,它迭代數字並將它們轉換為文字,使用 unitsMaptensMap 數組。
  • 函數加入適當的連接詞("million"、"thousand"、"hundred" 和 "and")以形成最終字串。

此程式碼可作為處理更複雜場景的起點,例如處理超出範圍 (-1000, 1000) 的數字或包含逗號的數字。

以上是如何在 C# 中將數字轉換為單字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板