public
string
GetCapitalization(
double
Money)
{
string CN_ZERO = "零";
string CN_ONE = "壹";
string CN_TWO = "贰";
string CN_THREE = "叁";
string CN_FOUR = "肆";
string CN_FIVE = "伍";
string CN_SIX = "陆";
string CN_SEVEN = "柒";
string CN_EIGHT = "捌";
string CN_NINE = "玖";
string CN_TEN = "拾";
string CN_HUNDRED = "佰";
string CN_THOUSAND = "仟";
string CN_TEN_THOUSAND = "万";
string CN_HUNDRED_MILLION = "亿";
string CN_SYMBOL = "";//人民币
string **_*OLLAR = "元";
string CN_TEN_CENT = "角";
string CN_CENT = "分";
string CN_INTEGER = "整";
string CN_Negative = "负";
//变量
string integral; //整数部分
string Float; //小数部分
string outputCharacters; //大写金额
int zeroCount;
int i;
int p;
string d;
int quotient;
int modulus;
string currencyDigits = Money.ToString("0.00");
string[] parts = currencyDigits.Split('.');
integral = parts[0];
Float = parts[1];
string[] digits = {CN_ZERO, CN_ONE, CN_TWO, CN_THREE, CN_FOUR, CN_FIVE, CN_SIX, CN_SEVEN, CN_EIGHT, CN_NINE};
string[] radices = {"", CN_TEN, CN_HUNDRED, CN_THOUSAND};
string[] bigRadices = {"", CN_TEN_THOUSAND, CN_HUNDRED_MILLION};
string[] decimals = {CN_TEN_CENT, CN_CENT};
//开始转换
outputCharacters = "";
//整数的转换
if (int.Parse(integral) > 0)
{
zeroCount = 0;
for (i = 0; i < integral.Length; i++)
{
p = integral.Length - i - 1;
d = integral.Substring(i, 1);
quotient = p / 4;
modulus = p % 4;
if (d == "0")
{
zeroCount++;
}
else
{
if (zeroCount > 0)
{
outputCharacters += digits[0];
}
zeroCount = 0;
outputCharacters += digits[int.Parse(d)] + radices[modulus];
}
if (modulus == 0 && zeroCount < 4)
{
outputCharacters += bigRadices[quotient];
}
}
outputCharacters += **_*OLLAR;
}
else if(int.Parse(integral) < 0)
{
zeroCount = 0;
outputCharacters += CN_Negative;
integral = integral.Substring(1,integral.Length);
for (i = 0; i < integral.Length; i++)
{
p = integral.Length - i - 1;
d = integral.Substring(i, 1);
quotient = p / 4;
modulus = p % 4;
if (d == "0")
{
zeroCount++;
}
else
{
if (zeroCount > 0)
{
outputCharacters += digits[0];
}
zeroCount = 0;
outputCharacters += digits[int.Parse(d)] + radices[modulus];
}
if (modulus == 0 && zeroCount < 4)
{
outputCharacters += bigRadices[quotient];
}
}
outputCharacters += **_*OLLAR;
}
//小数的转换
if (Float != "")
{
for (i = 0; i < Float.Length; i++)
{
d = Float.Substring(i, 1);
if (d != "0")
{
outputCharacters += digits[int.Parse(d)] + decimals[i];
}
}
}
if (outputCharacters == "")
{
outputCharacters = CN_ZERO + **_*OLLAR;
}
if (int.Parse(Float) == 0)
{
outputCharacters += CN_INTEGER;
}
outputCharacters = CN_SYMBOL + outputCharacters;
return outputCharacters;
}
{
string CN_ZERO = "零";
string CN_ONE = "壹";
string CN_TWO = "贰";
string CN_THREE = "叁";
string CN_FOUR = "肆";
string CN_FIVE = "伍";
string CN_SIX = "陆";
string CN_SEVEN = "柒";
string CN_EIGHT = "捌";
string CN_NINE = "玖";
string CN_TEN = "拾";
string CN_HUNDRED = "佰";
string CN_THOUSAND = "仟";
string CN_TEN_THOUSAND = "万";
string CN_HUNDRED_MILLION = "亿";
string CN_SYMBOL = "";//人民币
string **_*OLLAR = "元";
string CN_TEN_CENT = "角";
string CN_CENT = "分";
string CN_INTEGER = "整";
string CN_Negative = "负";
//变量
string integral; //整数部分
string Float; //小数部分
string outputCharacters; //大写金额
int zeroCount;
int i;
int p;
string d;
int quotient;
int modulus;
string currencyDigits = Money.ToString("0.00");
string[] parts = currencyDigits.Split('.');
integral = parts[0];
Float = parts[1];
string[] digits = {CN_ZERO, CN_ONE, CN_TWO, CN_THREE, CN_FOUR, CN_FIVE, CN_SIX, CN_SEVEN, CN_EIGHT, CN_NINE};
string[] radices = {"", CN_TEN, CN_HUNDRED, CN_THOUSAND};
string[] bigRadices = {"", CN_TEN_THOUSAND, CN_HUNDRED_MILLION};
string[] decimals = {CN_TEN_CENT, CN_CENT};
//开始转换
outputCharacters = "";
//整数的转换
if (int.Parse(integral) > 0)
{
zeroCount = 0;
for (i = 0; i < integral.Length; i++)
{
p = integral.Length - i - 1;
d = integral.Substring(i, 1);
quotient = p / 4;
modulus = p % 4;
if (d == "0")
{
zeroCount++;
}
else
{
if (zeroCount > 0)
{
outputCharacters += digits[0];
}
zeroCount = 0;
outputCharacters += digits[int.Parse(d)] + radices[modulus];
}
if (modulus == 0 && zeroCount < 4)
{
outputCharacters += bigRadices[quotient];
}
}
outputCharacters += **_*OLLAR;
}
else if(int.Parse(integral) < 0)
{
zeroCount = 0;
outputCharacters += CN_Negative;
integral = integral.Substring(1,integral.Length);
for (i = 0; i < integral.Length; i++)
{
p = integral.Length - i - 1;
d = integral.Substring(i, 1);
quotient = p / 4;
modulus = p % 4;
if (d == "0")
{
zeroCount++;
}
else
{
if (zeroCount > 0)
{
outputCharacters += digits[0];
}
zeroCount = 0;
outputCharacters += digits[int.Parse(d)] + radices[modulus];
}
if (modulus == 0 && zeroCount < 4)
{
outputCharacters += bigRadices[quotient];
}
}
outputCharacters += **_*OLLAR;
}
//小数的转换
if (Float != "")
{
for (i = 0; i < Float.Length; i++)
{
d = Float.Substring(i, 1);
if (d != "0")
{
outputCharacters += digits[int.Parse(d)] + decimals[i];
}
}
}
if (outputCharacters == "")
{
outputCharacters = CN_ZERO + **_*OLLAR;
}
if (int.Parse(Float) == 0)
{
outputCharacters += CN_INTEGER;
}
outputCharacters = CN_SYMBOL + outputCharacters;
return outputCharacters;
}