首页 > 编程 > C# > 正文

C#实现金额转换成中文大写金额

2020-01-24 00:15:45
字体:
来源:转载
供稿:网友

本文实例为大家分享了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.4   LowerMoney = 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());

结果:叁万贰仟玖佰伍拾柒圆贰角柒分

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表