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;
}












































































































































































