[转]C#实现人民币金额小写转大写的代码

在做涉及到金额的内容时,通常是需要输出一个金额的大写形式,这是中国的传统哦,嘿嘿,同时也提高安全性。

实现人民币从小写到大写的方法有很多种,今天,我这里提供一种给大家共享

 

 

一部分代码展示:
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#人民币小写转大写]

posted @ 2010-02-22 17:30  Minja  阅读(594)  评论(2编辑  收藏  举报