c#金额转换成中文大写金额
生活随笔
收集整理的這篇文章主要介紹了
c#金额转换成中文大写金额
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
c#金額轉換成中文大寫金額 原文:c#金額轉換成中文大寫金額
2018-08-24 轉別人
c#金額轉換成中文大寫金額
/// <summary>/// 金額轉換成中文大寫金額/// </summary>/// <param name="LowerMoney">eg:10.74</param>/// <returns></returns>public static string MoneyToUpper(string LowerMoney){string functionReturnValue = null;bool IsNegative = false; // 是否是負數if (LowerMoney.Trim().Substring(0, 1) == "-"){// 是負數則先轉為正數LowerMoney = LowerMoney.Trim().Remove(0, 1);IsNegative = true;}string strLower = null;string strUpart = null;string strUpper = null;int iTemp = 0;// 保留兩位小數 123.489→123.49 123.4→123.4LowerMoney = Math.Round(double.Parse(LowerMoney), 2).ToString();if (LowerMoney.IndexOf(".") > 0){if (LowerMoney.IndexOf(".") == LowerMoney.Length - 2){LowerMoney = LowerMoney + "0";}}else{LowerMoney = LowerMoney + ".00";}strLower = LowerMoney;iTemp = 1;strUpper = "";while (iTemp <= strLower.Length){switch (strLower.Substring(strLower.Length - iTemp, 1)){case ".":strUpart = "圓";break;case "0":strUpart = "零";break;case "1":strUpart = "壹";break;case "2":strUpart = "貳";break;case "3":strUpart = "叁";break;case "4":strUpart = "肆";break;case "5":strUpart = "伍";break;case "6":strUpart = "陸";break;case "7":strUpart = "柒";break;case "8":strUpart = "捌";break;case "9":strUpart = "玖";break;}switch (iTemp){case 1:strUpart = strUpart + "分";break;case 2:strUpart = strUpart + "角";break;case 3:strUpart = strUpart + "";break;case 4:strUpart = strUpart + "";break;case 5:strUpart = strUpart + "拾";break;case 6:strUpart = strUpart + "佰";break;case 7:strUpart = strUpart + "仟";break;case 8:strUpart = strUpart + "萬";break;case 9:strUpart = strUpart + "拾";break;case 10:strUpart = strUpart + "佰";break;case 11:strUpart = strUpart + "仟";break;case 12:strUpart = strUpart + "億";break;case 13:strUpart = strUpart + "拾";break;case 14:strUpart = strUpart + "佰";break;case 15:strUpart = strUpart + "仟";break;case 16:strUpart = strUpart + "萬";break;default:strUpart = strUpart + "";break;}strUpper = strUpart + strUpper;iTemp = iTemp + 1;}strUpper = strUpper.Replace("零拾", "零");strUpper = strUpper.Replace("零佰", "零");strUpper = strUpper.Replace("零仟", "零");strUpper = strUpper.Replace("零零零", "零");strUpper = strUpper.Replace("零零", "零");strUpper = strUpper.Replace("零角零分", "整");strUpper = strUpper.Replace("零分", "整");strUpper = strUpper.Replace("零角", "零");strUpper = strUpper.Replace("零億零萬零圓", "億圓");strUpper = strUpper.Replace("億零萬零圓", "億圓");strUpper = strUpper.Replace("零億零萬", "億");strUpper = strUpper.Replace("零萬零圓", "萬圓");strUpper = strUpper.Replace("零億", "億");strUpper = strUpper.Replace("零萬", "萬");strUpper = strUpper.Replace("零圓", "圓");strUpper = strUpper.Replace("零零", "零");// 對壹圓以下的金額的處理if (strUpper.Substring(0, 1) == "圓"){strUpper = strUpper.Substring(1, strUpper.Length - 1);}if (strUpper.Substring(0, 1) == "零"){strUpper = strUpper.Substring(1, strUpper.Length - 1);}if (strUpper.Substring(0, 1) == "角"){strUpper = strUpper.Substring(1, strUpper.Length - 1);}if (strUpper.Substring(0, 1) == "分"){strUpper = strUpper.Substring(1, strUpper.Length - 1);}if (strUpper.Substring(0, 1) == "整"){strUpper = "零圓整";}functionReturnValue = strUpper;if (IsNegative == true){return "負" + functionReturnValue;}else{return functionReturnValue;}}?
decimal?PriceSum =?32957.2654;
調用? var PriceSumChinese = MoneyToUpper(PriceSum.ToString());
結果:叁萬貳仟玖佰伍拾柒圓貳角柒分
?
posted on 2018-08-27 09:40 NET未來之路 閱讀(...) 評論(...) 編輯 收藏轉載于:https://www.cnblogs.com/lonelyxmas/p/9540420.html
總結
以上是生活随笔為你收集整理的c#金额转换成中文大写金额的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软工第一次作业
- 下一篇: 设计模式---接口隔离模式之门面模式(F