namespace BaseSystemFramework
{
using System;
public class Capitalization
{
public Capitalization()
{
}
//金额数字(小写)转换成文字(大写)
private static string[] shuzi={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
private static string[] danwei={"分","角","元","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟"};
/// <summary>
/// 金额小写转换成大写
/// </summary>
/// <param name="payment"></param>
/// <returns></returns>
public static string MoneyConvert(double payment)
{
string money;
int ipayment, itemp, num, length, danweinum;
string spayment, stemp;
bool yuan, wan, yi, zero;
yi = false;
wan = false;
yuan = false;
zero = false;
money = "";
ipayment = (int)Math.Floor(payment*100+0.5); //转换成分并四舍五入
if( ipayment > 0 )
{
spayment = ipayment.ToString(); //转换成字符串
length = spayment.Length;
if( length > 0 )
{
money = "";
num = length - 1;
danweinum = 0;
while( num >= 0 )
{
stemp = spayment.Substring( num, 1 );
itemp = int.Parse( stemp );
if( itemp > 0 )
{
if( money.Length > 0 )
{
stemp = shuzi[itemp] + danwei[danweinum];
if( danweinum == 10 )
yi = true;
if( danweinum == 6 )
wan = true;
if( danweinum == 2 )
yuan = true;
if( danweinum > 10 )
if( !yi )
{
stemp = stemp + "亿";
yi = true;
}
if( danweinum > 6 )
if( !wan )
{
stemp = stemp + "万";
wan = true;
}
if( danweinum > 2 )
if( !yuan )
{
stemp = stemp + "元";
yuan = true;
}
money = stemp + money;
}
else
{
if( danweinum > 0 )
{
stemp = shuzi[itemp] + danwei[danweinum];
if( danweinum == 10 )
yi = true;
if( danweinum == 6 )
wan = true;
if( danweinum == 2 )
yuan = true;
if( danweinum > 10 )
if( !yi )
{
stemp = stemp + "亿";
yi = true;
}
if( danweinum > 6 )
if( !wan )
{
stemp = stemp + "万";
wan = true;
}
if( danweinum > 2 )
if( !yuan )
{
stemp = stemp + "元";
yuan = true;
}
money = stemp + "整";
}
else
money = shuzi[itemp] + danwei[danweinum];
}
zero = false;
}
else
{
if( money.Length > 0 )
if( !zero )
{
money = shuzi[itemp] + money;
}
zero = true;
}
num--;
danweinum++;
}
}
}
return money;
}
/// <summary>
/// 金额小写转换成大写
/// </summary>
/// <param name="payment"></param>
/// <returns></returns>
public static string MoneyConvert( string payment )
{
if( payment.Length != 0)
return MoneyConvert( Convert.ToDouble( payment ) );
else
return MoneyConvert( Convert.ToDouble( "0" ) );
}
}
}
{
using System;
public class Capitalization
{
public Capitalization()
{
}
//金额数字(小写)转换成文字(大写)
private static string[] shuzi={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
private static string[] danwei={"分","角","元","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟"};
/// <summary>
/// 金额小写转换成大写
/// </summary>
/// <param name="payment"></param>
/// <returns></returns>
public static string MoneyConvert(double payment)
{
string money;
int ipayment, itemp, num, length, danweinum;
string spayment, stemp;
bool yuan, wan, yi, zero;
yi = false;
wan = false;
yuan = false;
zero = false;
money = "";
ipayment = (int)Math.Floor(payment*100+0.5); //转换成分并四舍五入
if( ipayment > 0 )
{
spayment = ipayment.ToString(); //转换成字符串
length = spayment.Length;
if( length > 0 )
{
money = "";
num = length - 1;
danweinum = 0;
while( num >= 0 )
{
stemp = spayment.Substring( num, 1 );
itemp = int.Parse( stemp );
if( itemp > 0 )
{
if( money.Length > 0 )
{
stemp = shuzi[itemp] + danwei[danweinum];
if( danweinum == 10 )
yi = true;
if( danweinum == 6 )
wan = true;
if( danweinum == 2 )
yuan = true;
if( danweinum > 10 )
if( !yi )
{
stemp = stemp + "亿";
yi = true;
}
if( danweinum > 6 )
if( !wan )
{
stemp = stemp + "万";
wan = true;
}
if( danweinum > 2 )
if( !yuan )
{
stemp = stemp + "元";
yuan = true;
}
money = stemp + money;
}
else
{
if( danweinum > 0 )
{
stemp = shuzi[itemp] + danwei[danweinum];
if( danweinum == 10 )
yi = true;
if( danweinum == 6 )
wan = true;
if( danweinum == 2 )
yuan = true;
if( danweinum > 10 )
if( !yi )
{
stemp = stemp + "亿";
yi = true;
}
if( danweinum > 6 )
if( !wan )
{
stemp = stemp + "万";
wan = true;
}
if( danweinum > 2 )
if( !yuan )
{
stemp = stemp + "元";
yuan = true;
}
money = stemp + "整";
}
else
money = shuzi[itemp] + danwei[danweinum];
}
zero = false;
}
else
{
if( money.Length > 0 )
if( !zero )
{
money = shuzi[itemp] + money;
}
zero = true;
}
num--;
danweinum++;
}
}
}
return money;
}
/// <summary>
/// 金额小写转换成大写
/// </summary>
/// <param name="payment"></param>
/// <returns></returns>
public static string MoneyConvert( string payment )
{
if( payment.Length != 0)
return MoneyConvert( Convert.ToDouble( payment ) );
else
return MoneyConvert( Convert.ToDouble( "0" ) );
}
}
}