生活随笔
收集整理的這篇文章主要介紹了
不用现有方法,把string转换成int型[C#]
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天聽朋友說到個面試題:不用現有方法,把string轉換成int型
就試著寫了一下,沒有考慮負數的情況,看的朋友可以自己試一下,也不難.
view plain
using?System;??using?System.Collections.Generic;??using?System.Text;??namespace?StringToInt??{??????class?Program??????{??????????static?void?Main(string[]?args)??????????{??????????????string?strInput=string.Empty;????????????????????????????while?(!strInput.Equals("e")?||?!strInput.Equals("E"))??????????????{??????????????????strInput?=?Console.ReadLine();??????????????????int?n?=?TransToInt(strInput);??????????????????if?(n?==?-1)??????????????????{??????????????????????Console.WriteLine("輸入的不是有效的數字字符或數字超出整形范圍!");??????????????????}??????????????????else??????????????????{??????????????????????Console.WriteLine("轉換后的整數是{0}",?n);??????????????????}??????????????}???????????}??????????private?static?int?TransToInt(string?str)??????????{??????????????char[]?ch?=?str.ToCharArray();??????????????int[]?nArray?=?new?int[str.Length];??????????????int?nReturn?=?0;?????????????????const?int?ten?=?10;?????????????????for?(int?i?=?0;?i?<?ch.Length;?i++)??????????????{??????????????????if?(ch[i]?-?48?<?0?||?ch[i]?-?48>9)????????????????????{??????????????????????return?-1;??????????????????}??????????????????else??????????????????{??????????????????????nArray[i]?=?ch[i]?-?48;????????????????????????for?(int?j?=?ch.Length?-?i?-?1;?j?>?0;?j--)??????????????????????{??????????????????????????nArray[i]?*=?ten;??????????????????????}??????????????????????nReturn?+=?nArray[i];??????????????????}??????????????}??????????????if?(!nReturn.ToString().Equals(str))??????????????{??????????????????return?-1;??????????????}??????????????return?nReturn;??????????}??????}??}?
總結
以上是生活随笔為你收集整理的不用现有方法,把string转换成int型[C#]的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。