C#实现金额转换成中文大写金额
本文实例为大家分享了C#金额转换成中文大写金额的具体代码,供大家参考,具体内容如下
//////金额转换成中文大写金额 /// ///eg:10.74 /// publicstaticstringMoneyToUpper(stringLowerMoney) { stringfunctionReturnValue=null; boolIsNegative=false;//是否是负数 if(LowerMoney.Trim().Substring(0,1)=="-") { //是负数则先转为正数 LowerMoney=LowerMoney.Trim().Remove(0,1); IsNegative=true; } stringstrLower=null; stringstrUpart=null; stringstrUpper=null; intiTemp=0; //保留两位小数123.489→123.49123.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) { case1: strUpart=strUpart+"分"; break; case2: strUpart=strUpart+"角"; break; case3: strUpart=strUpart+""; break; case4: strUpart=strUpart+""; break; case5: strUpart=strUpart+"拾"; break; case6: strUpart=strUpart+"佰"; break; case7: strUpart=strUpart+"仟"; break; case8: strUpart=strUpart+"万"; break; case9: strUpart=strUpart+"拾"; break; case10: strUpart=strUpart+"佰"; break; case11: strUpart=strUpart+"仟"; break; case12: strUpart=strUpart+"亿"; break; case13: strUpart=strUpart+"拾"; break; case14: strUpart=strUpart+"佰"; break; case15: strUpart=strUpart+"仟"; break; case16: 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 { returnfunctionReturnValue; } }
decimalPriceSum=32957.2654;
调用 varPriceSumChinese=MoneyToUpper(PriceSum.ToString());
结果:叁万贰仟玖佰伍拾柒圆贰角柒分
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。