您的位置:首页 > 编程语言 > C#

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

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




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

一部分代码展示:
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#人民币小写转大写]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: