将货币格式由小写转换成大写的c#类
来源:互联网 发布:阿里云服务器数据迁移 编辑:程序博客网 时间:2024/04/28 03:23
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;
}
- 将货币格式由小写转换成大写的c#类
- 将货币格式由小写转换成大写的c#类
- 将货币的小写转换为大写,例如:肆佰陆拾贰圆捌角柒分
- 将货币的小写转换为大写,例如:肆佰陆拾贰圆捌角柒分
- 将货币的小写转换为大写,例如:肆佰陆拾贰圆捌角柒分
- 将用户输入的小写货币形式转换为规范的大写货币形式
- 将用户输入的小写货币形式转换为规范的大写货币形式
- 由递归所想到的:如何将字符串或者数字转换成大写货币的问题
- TP5-金钱转换,将小写的金钱数转换成大写格式
- 一个将小写金额转换为大写的C#函数
- 将小写的金额转换成中文的大写金额
- 将小写金额转换成中文大写金额的方法
- java将小写金额转换为大写的工具类
- 将小写金额转换为中文大写金额的类
- java将小写金额转换为大写的工具类
- 将小写人民币转换成大写
- Java将小写金额转换成大写
- Java将小写金额转换成大写
- iBatisnet配置(转)
- 命令行运行好处多 操作方法详细讲解
- iBatisnet基本组件(转)
- 测试工作内容1
- net中关于PictureBox绑定数据库的图片字段 (转载)
- 将货币格式由小写转换成大写的c#类
- datalist 分页
- gOS
- 面向对象编程两个重要的相等概念:值相等和引用相等
- 静态构造器四个准则
- SQL Server 存储过程的分页方案比拼
- SqLite介绍
- 在JAVA 源程序中编写SQL语句时使用ORACLE 绑定变量
- 用gmail发送邮件