C#把数字转换为大写金额
2009-09-19 17:07
253 查看
private string ToBigNumber(long number)
{
// 12345 一万贰仟叁佰肆拾伍
string[] mm ={ '', '拾', '佰', '仟', '万', '拾', '佰',
'仟', '亿', '拾', '佰', '仟', '万' };
string[] dx = { '零', '壹', '贰', '叁', '肆', '伍',
'陆', '柒', '捌', '玖', '拾' };
if (number == 0)
{
return dx[0];
}
string numberStr = number.ToString();
if (numberStr.Length > mm.Length)
{
throw new UserException('can not parser number, as it it too long.');
}
StringBuilder buff = new StringBuilder();
int flag = 0;
int preNum = -1;
for (int i = numberStr.Length - 1; i >= 0; i--)
{
string currentBit = numberStr.Substring(flag++, 1);
if (int.Parse(currentBit) == 0)// deal with 0.
{
if (preNum != 0)// deal with 000
{
buff.Append(dx[int.Parse(currentBit)]);
}
}
else
{
buff.Append(dx[int.Parse(currentBit)]).Append(mm[i]);
}
preNum = int.Parse(currentBit);
}
//remove the latest zero.
string result = buff.ToString();
if (result.EndsWith(dx[0]))
{
buff.Remove(buff.Length - 1, 1);
}
return buff.ToString();
}
{
// 12345 一万贰仟叁佰肆拾伍
string[] mm ={ '', '拾', '佰', '仟', '万', '拾', '佰',
'仟', '亿', '拾', '佰', '仟', '万' };
string[] dx = { '零', '壹', '贰', '叁', '肆', '伍',
'陆', '柒', '捌', '玖', '拾' };
if (number == 0)
{
return dx[0];
}
string numberStr = number.ToString();
if (numberStr.Length > mm.Length)
{
throw new UserException('can not parser number, as it it too long.');
}
StringBuilder buff = new StringBuilder();
int flag = 0;
int preNum = -1;
for (int i = numberStr.Length - 1; i >= 0; i--)
{
string currentBit = numberStr.Substring(flag++, 1);
if (int.Parse(currentBit) == 0)// deal with 0.
{
if (preNum != 0)// deal with 000
{
buff.Append(dx[int.Parse(currentBit)]);
}
}
else
{
buff.Append(dx[int.Parse(currentBit)]).Append(mm[i]);
}
preNum = int.Parse(currentBit);
}
//remove the latest zero.
string result = buff.ToString();
if (result.EndsWith(dx[0]))
{
buff.Remove(buff.Length - 1, 1);
}
return buff.ToString();
}
相关文章推荐
- C#实现阿拉伯数字(小写金额)到大写中文(大写金额)的转换
- C#小写数字金额转换成大写人民币金额的算法
- C#写的将阿拉伯数字转换成中文大写金额代码
- C#实现的【阿拉伯数字转换成中文大写金额】
- C#实现的【阿拉伯数字转换成中文大写金额】代码(原创)
- C# 实现将阿拉伯数字转换成中文大写金额
- 将金额转换到大写数字的C#函数
- C#把数字转换为大写金额
- C#实现阿拉伯数字(小写金额)到大写中文(大写金额)的转换
- C#阿拉伯数字金额转换为中文大写金额
- 数字转换成大写金额(C#实现)
- C#把数字转换成大写金额的代码实例
- 小写数字金额转换成大写金额(C#)
- 利用创建型工厂方法模式编写小写数字金额转换为人民币大写C#代码。
- 将大写金额(精确到圆)转换成数字
- JavaScript金额数字转换成大写
- 在C#中将金额转换成中文大写金额
- .Net/C#/VB/T-SQL/Java/Script 实现: 将天文数字转换成中文大写 (2000 年前的思路,打劫的,一点儿技术含量都没有)
- .Net/C#/VB/T-SQL/Java 实现: 将天文数字转换成中文大写 (2000 年前的思路,打劫的,一点儿技术含量都没有)
- JS把数字金额转换成中文大写数字的函数