<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                用C#寫一個CheckWriter的控制臺程序,如果你在銀行工作,需要一個系統能夠當你輸入一串數字金額后能用其對應的英文輸出,這樣方便打印在支票上防止篡改。用戶輸入一個0到20億的數字包含最多2位小數,將其轉換為英文輸出。例如輸入1258276.25,能夠輸出:one million, three hundred and fifty seven thousand, two hundred and fitty six DOLLARS AND thirty two CENTS. ~~~ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CheckWriter { class Program { private static string[] _lessTwentyNumbers = new string[]{"Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen","Sixteen", "Seventeen", "Eighteen", "Nineteen"}; private static string[] _lessHundredNumbers = new string[]{"", "", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty","Ninety"}; private static string[] _scaleNumbers = new string[] { "", "Thousand", "Million", "Billion" }; static void Main(string[] args) { string s = ConvertDecimalToWords(1258276.25); Console.WriteLine(s); Console.Read(); } /// <summary> /// 將數字轉為英文描述 /// </summary> /// <param name="number"></param> /// <returns></returns> private static string ConvertNumberToWords(int number) { if (number == 0) { return _lessTwentyNumbers[0]; } int[] digitGroups = new int[4]; int positive = Math.Abs(number); // 將數字按三位一段保存到數組里 for (int i = 0; i < 4; i++) { digitGroups[i] = positive % 1000; positive /= 1000; } string[] groupText = new string[4]; for (int i = 0; i < 4; i++) { // 每三位一段轉為相應的英文字符 groupText[i] = ConvertThreeDigitToWords(digitGroups[i]); } string combined = groupText[0]; for (int i = 1; i < 4; i++) { if (digitGroups[i] != 0) { // 每一段加上相應的這一段的級別數字 string prefix = groupText[i] + " " + _scaleNumbers[i]; if (!string.IsNullOrEmpty(prefix)) { if (string.IsNullOrEmpty(combined)) { combined = prefix; } else { combined = prefix + ", " + combined; } } } } if (number < 0) { combined = "Negative " + combined; } return combined; } ?/// <summary> /// 處理三位數以內的數字轉為英文描述 /// </summary> /// <param name="threeDigits"></param> /// <returns></returns> private static string ConvertThreeDigitToWords(int threeDigits) { string groupText = ""; // 獲取百位 int hundreds = threeDigits / 100; int tensUnits = threeDigits % 100; if (hundreds != 0) { groupText += _lessTwentyNumbers[hundreds] + " Hundred"; if (tensUnits != 0) { groupText += " and "; } } // 獲取十位 int tens = tensUnits / 10; int units = tensUnits % 10; if (tens >= 2) { groupText += _lessHundredNumbers[tens]; if (units != 0) { groupText += " " + _lessTwentyNumbers[units]; } } else if (tensUnits != 0) { groupText += _lessTwentyNumbers[tensUnits]; } return groupText; } private static string ConvertDecimalToWords(double number) { int i = (int)number; int p = (int)((number - i) * 100); return ConvertNumberToWords(i) + " DOLLARS AND " + ConvertNumberToWords(p) + " CENTS"; } } } ~~~ 上面的代碼中兩個核心函數是ConvertNumberToWords和ConvertThreeDigitToWords,ConvertThreeDigitToWords的作用主要是能將小于1000的整數轉為相應的金額,而ConvertNumberToWords負責將不同段的金額組合成完整的金額,主要是加上了該金額對應的位,例如本程序由于只要求對20億以內的數字進行處理,因此分為千,百萬和十億三檔。理解好了這兩個函數基本就能知道是怎么做的。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看