将中文大写数字(从一到九十九)转换为阿拉伯数字

输入中文大写数字(从一到九十九),返回阿拉伯数字
None.gif
ExpandedBlockStart.gifContractedBlock.gif        
/**/ /// <summary>
InBlock.gif        
/// 输入中文大写数字(从一到九十九),返回阿拉伯数字
InBlock.gif        
/// </summary>
InBlock.gif        
/// <param name="ChineseNumber">中文大写数字(从一到九十九)</param>
ExpandedBlockEnd.gif        
/// <returns></returns>

None.gif          public   int  ChineseNumberToArabicNumber( string  ChineseNumber)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            
if(!System.Text.RegularExpressions.Regex.IsMatch(ChineseNumber,@"(^[一二三四五六七八九十]$)|(^十[一二三四五六七八九]$)|(^[二三四五六七八九]十[一二三四五六七八九]{0,1}$)"))
InBlock.gif                
return 0;
InBlock.gif            
int ArabicNumber=0;
InBlock.gif            
string ReturnStr="";
InBlock.gif            
string ChineseNumberName="一二三四五六七八九十";
ExpandedSubBlockStart.gifContractedSubBlock.gif            
int[] IntArrayArabicNumberNames=new int[]dot.gif{1,2,3,4,5,6,7,8,9,10};
InBlock.gif            
int length=ChineseNumber.Length;
InBlock.gif            
switch(length)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
case 1:
InBlock.gif                    ArabicNumber
=IntArrayArabicNumberNames[ChineseNumberName.IndexOf(ChineseNumber)];
InBlock.gif
//                    return ArabicNumber;
InBlock.gif
                    break;
InBlock.gif                
case 2:
InBlock.gif                    
if(ChineseNumber[0]!='')
ExpandedSubBlockStart.gifContractedSubBlock.gif                    
dot.gif{
InBlock.gif                        ReturnStr
=IntArrayArabicNumberNames[ChineseNumberName.IndexOf(ChineseNumber[0])].ToString().Trim();
InBlock.gif                        ReturnStr
+="0";
InBlock.gif                        ArabicNumber
=Int16.Parse(ReturnStr);
InBlock.gif
//                        return ArabicNumber;
ExpandedSubBlockEnd.gif
                    }

InBlock.gif                    
else
ExpandedSubBlockStart.gifContractedSubBlock.gif                    
dot.gif{
InBlock.gif                        ReturnStr
="1";
InBlock.gif                        ReturnStr
+=IntArrayArabicNumberNames[ChineseNumberName.IndexOf(ChineseNumber[1])].ToString().Trim();
InBlock.gif                        ArabicNumber
=Int16.Parse(ReturnStr);
InBlock.gif
//                        return ArabicNumber;
ExpandedSubBlockEnd.gif
                    }

InBlock.gif                    
break;
InBlock.gif                
case 3:
InBlock.gif                    ReturnStr
=IntArrayArabicNumberNames[ChineseNumberName.IndexOf(ChineseNumber[0])].ToString().Trim();
InBlock.gif                    ReturnStr
+=IntArrayArabicNumberNames[ChineseNumberName.IndexOf(ChineseNumber[2])].ToString().Trim();
InBlock.gif                    ArabicNumber
=Int16.Parse(ReturnStr);
InBlock.gif
//                    return ArabicNumber;
InBlock.gif
                    break;
InBlock.gif                
default:
InBlock.gif                    
break;
ExpandedSubBlockEnd.gif            }

InBlock.gif            
return ArabicNumber;
ExpandedBlockEnd.gif        }

转载于:https://www.cnblogs.com/oflying907/archive/2006/04/17/377279.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值