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;
}