2014年6月6日 星期五

C# 使用Microsoft Visual Studio International Feature Pack 2.0 轉換數字大寫

以前要將阿拉伯數字轉換成大寫的國字金額,都要自己人工轉換。
現在.NET有推出相關的套件,可以直接轉換,省去了自己寫轉換程式的時間....^___^
首先下載Microsoft Visual Studio International Feature Pack 2.0套件來安裝。



開啟Vsintlpack2.msi檔案,出現安裝畫面,如下圖所示:

按下一步後,出現授權畫面,理所當然勾選接受在點選下一步,如下圖所示:

安裝類型選擇一般,如下圖所示:

然後選擇安裝,如下圖所示:

安裝完畢後,就選擇完成囉,如下圖所示:

之後系統會開啟預設瀏覽器,出現讀我檔案,裡面有提到套件的安裝位置,如下圖所示:

依照作業系統環境不同,您所安裝的位置就會不一樣,此篇文章的安裝位置如下
C:\Program Files (x86)\Microsoft Visual Studio International Feature Pack 2.0\

到此,套件安裝完成。
接著就是開始寫程式轉碼囉。
開啟VS2010/VS2012/VS2013(本篇以VS2010為例),建立新專案後,請在參考地方瀏覽C:\Program Files (x86)\Microsoft Visual Studio International Feature Pack

2.0\NumericConversion後,加入InternationalNumericFormatter.dll,如下圖所示:

加入後,就可以再參考的地方,看到剛剛所選的InternationalNumericFormatter.dll被加入,如下圖所示:


然後在Program.cs的main中加入下列的程式碼(本篇以Console程式為例),
int Sum = 29845;

Console.WriteLine("阿拉伯數字為:" + Sum + "\n");

//轉換中文大寫數字(壹、貳.....)
string ChineseNumber1 = EastAsiaNumericFormatter.FormatWithCulture("L", Sum, null, new CultureInfo("zh-TW")) + "元整";
 Console.WriteLine("使用 L 轉換為中文大寫數字一(壹、貳.....)如下:");
Console.WriteLine(ChineseNumber1 + "\n");

//轉換中文大寫數字(一、二.....)
string ChineseNumber2 = EastAsiaNumericFormatter.FormatWithCulture("Ln", Sum, null, new CultureInfo("zh-TW")) + "元整";
Console.WriteLine("使用 Ln 轉換為中文大寫數字二(一、二.....)如下:");
Console.WriteLine(ChineseNumber2 + "\n");

然後針對EastAsiaNumericFormatter & CultureInfo進行解析,如下圖所示:

然後編譯執行,結果如下圖所示:

1 則留言: