C# 字符串 轉 數值(不使用內置方法)

                                                        C# 字符串 轉 數值


前段時間面試到一個題目:

輸入任意一個字符串, int類型, 輸出對應的 數值,

時間緊迫 當時也是 寫出來了,因爲時間有限 代碼冗餘比較高;後期擴展麻煩

後來在地鐵上 又想到另一種方式: 如下

利用到了 十進制 每位 進十的 特點, 使用起來 維護相對比較方便

 

/// <summary>
/// 傳入一個數字 字符(整型) 返回一個 整型
/// </summary>
/// <param name="nubers"></param>
/// <returns></returns>
int StringToInt(string numbers)
{       
    int baseNumber = 1;
    int sum = 0;
    //遍歷從右到左 每一位字符
    for (int i = numbers.Length; i > 0; i--)
    {           
        switch (numbers.Substring(i - 1, 1))
        {
            // 根據位數 乘以基數在累加
            case "0": sum += baseNumber*0;   break;
            case "1": sum += baseNumber * 1; break;
            case "2": sum += baseNumber * 2; break;
            case "3": sum += baseNumber * 3; break;
            case "4": sum += baseNumber * 4; break;
            case "5": sum += baseNumber * 5; break;
            case "6": sum += baseNumber * 6; break;
            case "7": sum += baseNumber * 7; break;
            case "8": sum += baseNumber * 8; break;
            case "9": sum += baseNumber * 9; break;
        }
        baseNumber *= 10;
    }
    return sum;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章