#region 人民幣小寫金額轉大寫金額/// <summary>/// 小寫金額轉大寫金額/// </summary>/// <param name="Money">接收需要轉換的小寫金額</param>/// <returns>返回大寫金額</returns>public static string ConvertMoney(Decimal Money){//金額轉換程序string MoneyNum = "";//記錄小寫金額字符串[輸入參數]string MoneyStr = "";//記錄大寫金額字符串[輸出參數]string BNumStr = "零壹貳叁肆伍陸柒捌玖";//模string UnitStr = "萬仟佰拾億仟佰拾萬仟佰拾圓角分";//模 MoneyNum = ((long)(Money * 100)).ToString();for (int i = 0; i < MoneyNum.Length; i++){string DVar = "";//記錄生成的單個字符(大寫)string UnitVar = "";//記錄截取的單位for (int n = 0; n < 10; n++){//對比后生成單個字符(大寫)if (Convert.ToInt32(MoneyNum.Substring(i, 1)) == n){DVar = BNumStr.Substring(n, 1);//取出單個大寫字符//給生成的單個大寫字符加單位UnitVar = UnitStr.Substring(15 - (MoneyNum.Length)).Substring(i, 1);n = 10;//退出循環 }}//生成大寫金額字符串MoneyStr = MoneyStr + DVar + UnitVar;}//二次處理大寫金額字符串MoneyStr = MoneyStr + "整";while (MoneyStr.Contains("零分") || MoneyStr.Contains("零角") || MoneyStr.Contains("零佰") || MoneyStr.Contains("零仟")|| MoneyStr.Contains("零萬") || MoneyStr.Contains("零億") || MoneyStr.Contains("零零") || MoneyStr.Contains("零圓")|| MoneyStr.Contains("億萬") || MoneyStr.Contains("零整") || MoneyStr.Contains("分整")){MoneyStr = MoneyStr.Replace("零分", "零");MoneyStr = MoneyStr.Replace("零角", "零");MoneyStr = MoneyStr.Replace("零拾", "零");MoneyStr = MoneyStr.Replace("零佰", "零");MoneyStr = MoneyStr.Replace("零仟", "零");MoneyStr = MoneyStr.Replace("零萬", "萬");MoneyStr = MoneyStr.Replace("零億", "億");MoneyStr = MoneyStr.Replace("億萬", "億");MoneyStr = MoneyStr.Replace("零零", "零");MoneyStr = MoneyStr.Replace("零圓", "圓零");MoneyStr = MoneyStr.Replace("零整", "整");MoneyStr = MoneyStr.Replace("分整", "分");}if (MoneyStr == "整"){MoneyStr = "零元整";}return MoneyStr;}#endregion
?