/**/ /// <summary>
/// 输入中文大写数字(从一到九十九),返回阿拉伯数字
/// </summary>
/// <param name="ChineseNumber">中文大写数字(从一到九十九)</param>
/// <returns></returns>
public int ChineseNumberToArabicNumber( string ChineseNumber)
{
if(!System.Text.RegularExpressions.Regex.IsMatch(ChineseNumber,@"(^[一二三四五六七八九十]$)|(^十[一二三四五六七八九]$)|(^[二三四五六七八九]十[一二三四五六七八九]{0,1}$)"))
return 0;
int ArabicNumber=0;
string ReturnStr="";
string ChineseNumberName="一二三四五六七八九十";
int[] IntArrayArabicNumberNames=new int[]{1,2,3,4,5,6,7,8,9,10};
int length=ChineseNumber.Length;
switch(length)
{
case 1:
ArabicNumber=IntArrayArabicNumberNames[ChineseNumberName.IndexOf(ChineseNumber)];
// return ArabicNumber;
break;
case 2:
if(ChineseNumber[0]!='十')
{
ReturnStr=IntArrayArabicNumberNames[ChineseNumberName.IndexOf(ChineseNumber[0])].ToString().Trim();
ReturnStr+="0";
ArabicNumber=Int16.Parse(ReturnStr);
// return ArabicNumber;
}
else
{
ReturnStr="1";
ReturnStr+=IntArrayArabicNumberNames[ChineseNumberName.IndexOf(ChineseNumber[1])].ToString().Trim();
ArabicNumber=Int16.Parse(ReturnStr);
// return ArabicNumber;
}
break;
case 3:
ReturnStr=IntArrayArabicNumberNames[ChineseNumberName.IndexOf(ChineseNumber[0])].ToString().Trim();
ReturnStr+=IntArrayArabicNumberNames[ChineseNumberName.IndexOf(ChineseNumber[2])].ToString().Trim();
ArabicNumber=Int16.Parse(ReturnStr);
// return ArabicNumber;
break;
default:
break;
}
return ArabicNumber;
}