/// <summary>
/// 小写RMB转大写RMB
/// </summary>
/// <param name="Money">小写金额</param>
/// <returns>大写金额</returns>
public static string GetNumToUpper(decimal Money)
{
string NumList = ""; string RmbList = "";
int NumLen = 0; int NumChar = 0;
string N1 = "", N2 = "";
decimal Mnu = 0;
int I = 0;
string numStr = ""; string Change = "";
Mnu = Money;
if (Money > 0)
{
Money = Convert.ToDecimal(Money.ToString("#.00"));
}
else
{
Money = Convert.ToDecimal(Money.ToString("#.00")) * -1;
}
NumList = "零壹贰叁肆伍陆柒捌玖";
RmbList = "分角元拾佰仟万拾佰仟亿拾佰仟万";
if (Money > 9999999999999.99M)
{
return "-------"; //超出范围的人民币值,无法显示!;
}
numStr = Convert.ToString(Convert.ToDecimal(Money * 100).ToString("#"));
NumLen = numStr.Length;
I = 0;
while (I <= NumLen - 1)
{
NumChar = Convert.ToInt32(numStr.Substring(I, 1));
N1 = NumList.Substring(NumChar, 1);
N2 = RmbList.Substring(NumLen - I - 1, 1);
if (N1 != "零")
{
Change += N1 + N2;
}
else
{
if (N2 == "亿" || N2 == "万" || N2 == "元" || N1 == "零")
{
while (Change.Substring(Change.Length - 1, 1) == "零")
{
Change = Change.Substring(0, Change.Length - 1);
}
}
if (N2 == "亿" || (N2 == "万" && Change.Substring(Change.Length - 1, 1) != "亿") || N2 == "元")
{
Change += N2;
}
else
{
if (Change.Substring(Change.Length - 2, 2).Substring(0, 1) == "零" || Change.Substring(Change.Length - 1, 1) != "亿")
{
Change += N1;
}
}
}
I++;
}
if (Change.Length > 1)
{
while (Change.Substring(Change.Length - 1, 1) == "零")
{
Change = Change.Substring(0, Change.Length - 1);
}
if (Change.Substring(Change.Length - 1, 1) == "元" || Change.Substring(Change.Length - 1, 1) == "角")
{
Change += "整";
}
}
if (Mnu > 0)
{
return Change;
}
else if (Mnu < 0)
{
return "负" + Change;
}
else
{
return "零元整";
}
小写RMB转大写RMB
最新推荐文章于 2021-07-26 05:31:12 发布