数字类们都有一个相同的方法Parse,就是转数字。但是此方法如果参数为空字符串,就会出现异常。为什么int a=new int();默认数字对象值是0,而Parse();返回就不是0呢?我就让它空也返回0。但是我忘了重要的一点,word king词冠。
public int str2int(string str){
int num = 0;char[]tamp = str.ToCharArray();
int v,n;string shu=null,king=null;//数和词冠分开
for(v=0;v<tamp.Length;v++){
if(char.IsLetter(tamp[0])){num=1;king=str;
}
else{
if(tamp[v]>='0'&&tamp[v]<='9')==false)break;
shu=str.substring(0,v+1);
king=str.Substring(v+1);
}
}
if(shu!=null)
{
for(n = 0;n < str.Length * 2;n += 2){
num += (int)((tamp[n]-48)*(Math.Pow(10,shu.Length-n/2)));}}
switch(king){
case "h":num*=100;break;
case"k":num*=1000;break;}
return num / 10;}