将人民币数字转换为中文大写
来源:互联网 发布:小学拼音教学软件 编辑:程序博客网 时间:2024/04/30 12:55
using System;
namespace Test.Com
{
/// <summary>
/// 功能:字符串处理函数集
/// </summary>
public class DealString
{
#region 私有成员
/// <summary>
/// 输入字符串
/// </summary>
private string inputString=null;
/// <summary>
/// 输出字符串
/// </summary>
private string outString=null;
/// <summary>
/// 提示信息
/// </summary>
private string noteMessage=null;
#endregion
#region 公共属性
/// <summary>
/// 输入字符串
/// </summary>
public string InputString
{
get{return inputString;}
set{inputString=value;}
}
/// <summary>
/// 输出字符串
/// </summary>
public string OutString
{
get{return outString;}
set{outString=value;}
}
/// <summary>
/// 提示信息
/// </summary>
public string NoteMessage
{
get{return noteMessage;}
set{noteMessage=value;}
}
#endregion
#region 构造函数
public DealString()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
#endregion
#region 公共方法
public void ConvertToChineseNum()
{
string numList="零壹贰叁肆伍陆柒捌玖";
string rmbList = "分角元拾佰仟万拾佰仟亿拾佰仟万";
double number=0;
string tempOutString=null;
try
{
number=double.Parse(this.inputString);
}
catch
{
this.noteMessage="传入参数非数字!";
return;
}
if(number>9999999999999.99)
this.noteMessage="超出范围的人民币值";
//将小数转化为整数字符串
string tempNumberString=Convert.ToInt64(number*100).ToString();
int tempNmberLength=tempNumberString.Length;
int i=0;
while(i<tempNmberLength)
{
int oneNumber=Int32.Parse(tempNumberString.Substring(i,1));
string oneNumberChar=numList.Substring(oneNumber,1);
string oneNumberUnit=rmbList.Substring(tempNmberLength-i-1,1);
if(oneNumberChar!="零")
tempOutString+=oneNumberChar+oneNumberUnit;
else
{
if(oneNumberUnit=="亿"||oneNumberUnit=="万"||oneNumberUnit=="元"||oneNumberUnit=="零")
{
while (tempOutString.EndsWith("零"))
{
tempOutString=tempOutString.Substring(0,tempOutString.Length-1);
}
}
if(oneNumberUnit=="亿"||(oneNumberUnit=="万"&&!tempOutString.EndsWith("亿"))||oneNumberUnit=="元")
{
tempOutString+=oneNumberUnit;
}
else
{
bool tempEnd=tempOutString.EndsWith("亿");
bool zeroEnd=tempOutString.EndsWith("零");
if(tempOutString.Length>1)
{
bool zeroStart=tempOutString.Substring(tempOutString.Length-2,2).StartsWith("零");
if(!zeroEnd&&(zeroStart||!tempEnd))
tempOutString+=oneNumberChar;
}
else
{
if(!zeroEnd&&!tempEnd)
tempOutString+=oneNumberChar;
}
}
}
i+=1;
}
while (tempOutString.EndsWith("零"))
{
tempOutString=tempOutString.Substring(0,tempOutString.Length-1);
}
while(tempOutString.EndsWith("元"))
{
tempOutString=tempOutString+"整";
}
this.outString=tempOutString;
}
#endregion
}
}
- 将人民币数字转换为中文大写
- C# 将小写数字转换为 一般中文大写数字 和 人民币大写数字
- 将数字字符串转换为人民币大写
- .net 将数字转换为人民币大写
- 数字转换为大写,人民币
- 人民币大写转换为数字
- PHP将数字金额转化为中文人民币大写
- 人民币转换为中文大写
- ABAP--将数字金额转换为人民币大写字符串
- ABAP--将数字金额转换为人民币大写字符串
- .NET将数字转换为人民币大写;泛型;11.8
- 将数字金额转换为人民币大写字符串
- js将数字金额转换为大写人民币
- 将人民币数字转换成大写形式
- 将人民币数字转换成大写形式
- 把人民币数字转换成中文大写
- 数字转换成中文人民币大写
- 人民币,大写中文与数字之间转换
- Windows与Linux的问题
- 自己的linux系统安装以及软件配置
- shark接口1分析(一)--启动流程
- 盖茨要开设个人Blog 可能导致Blog技术革命
- initialization
- 将人民币数字转换为中文大写
- 编程和数学(2)
- 编程和数学(3)
- (转)追MM与设计模式
- 医院黑幕
- 项目管理阅读笔记
- test
- [转贴]ASP.NET Web 页面生命中的一天
- [转贴]从 ASP.NET 服务器控件插入客户端脚本