首页 新闻 会员 周边

ru自己写一个方法将字符串类型的数字如string str=”12312345123” 转换成整形int 不能使用convert 等

0
悬赏园豆:10 [待解决问题]

如何自己写一个方法将字符串类型的数字如string str=”12312345123” 转换成整形int n=12312345123

不能使用convert 等转换函数

Ganler1988的主页 Ganler1988 | 初学一级 | 园豆:3
提问于:2011-09-27 23:01
< >
分享
所有回答(6)
0

(int)str强制转换!或者,一个个的输出str中的数据,先输出3*1,然后是,2*1*10,接着,1*1*10*10.....并将这些值相加....

,落月 | 园豆:205 (菜鸟二级) | 2011-09-27 23:16
0

int result=0;

int weight=1;

for (int i=str.length-1; i>=0; i--)

{

  result=result+((int)str[i]-(int)'0')*weight;

  weight=weight*10;

}

return result;

vanzheng | 园豆:292 (菜鸟二级) | 2011-09-28 06:49
0

面试?

bye_passer | 园豆:367 (菜鸟二级) | 2011-09-28 08:51
1

private static int Trans(string str)
{
int values = 0;
foreach (char ch in str)
{
values = (values*10) + (ch - 48);
}
return values;
}

Ganler1988 | 园豆:3 (初学一级) | 2011-09-28 21:40
0

可以试试,int.Parse(str);

int result=0;

int.TryParse(str,out result);可以达到你要的效果,不过这两个要慎用,方法中输入的参数是string类型,如果是123.3,Parse(str)就会报错,提示不是正确的字符串;ConvertToInt32多转换Object类型!Parse多用于转换字符串;你试试吧!

 
 
SanMaoSpace | 园豆:213 (菜鸟二级) | 2011-09-30 19:07

都说了不能用这些自带的函数了 已经搞定 谢谢

支持(0) 反对(0) Ganler1988 | 园豆:3 (初学一级) | 2011-10-01 11:28
0

根据他所在字符串的位置去转换

喬喬AI | 园豆:996 (小虾三级) | 2011-10-07 21:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册