在做涉及到金额的内容时,通常是需要输出一个金额的大写形式,这是中国的传统哦,嘿嘿,同时也提高安全性。
实现人民币从小写到大写的方法有很多种,今天,我这里提供一种给大家共享
一部分代码展示:
public static string Convert(decimal number) { bool NegativeFlag = false; decimal RMBNumber; CheckNumberLimit(number); RMBNumber = Math.Round(number, 2); //将?四?舍?五?入?取?位?小?数? if (RMBNumber == 0) { return "零?元?整?"; } else if (RMBNumber < 0) //如?果?是?负?数? { NegativeFlag = true; RMBNumber = Math.Abs(RMBNumber); //取?绝?对?值? } else { NegativeFlag = false; } string buf = ""; // 存?放?返?回?结?果? string strDecPart = ""; // 存?放?小?数?部?分?的?处?理?结?果? string strIntPart = ""; // 存?放?整?数?部?分?的?处?理?结?果? string[] tmp = null; string strDigital = RMBNumber.ToString(); tmp = strDigital.Split(cDelim, 2); // 将?数?据?分?为?整?数?和?小?数?部?分? if (RMBNumber >= 1m) // 大?于?时?才?需?要?进?行?整?数?部?分?的?转?换? { strIntPart = ConvertInt(tmp[0]); } if (tmp.Length > 1) //分解出了小数 { strDecPart = ConvertDecimal(tmp[1]); } else //没有小数肯定是为整 { strDecPart = "整"; } if (NegativeFlag == false) //是?否?负?数? { buf = strIntPart + strDecPart; } else { buf = "负" + strIntPart + strDecPart; } return buf; }
使用的方法非常简单:
Console.WriteLine("¥12345.67 对应的大写金额是 :" + DeltaCat.Net.RMB.Convert(12345.67M));
demo代码[c#人民币小写转大写]