private
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 " 零元整 " ;
}
}
{
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 " 零元整 " ;
}
}