把字串轉換成整數

2021-08-16 17:41:18 字數 1200 閱讀 9338

1、題目描述

將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。 數值為0或者字串不是乙個合法的數值則返回0。

2、**

2.1 原理:

這個題目從題目本身上來說是不難的,但是主要是需要注意一些特殊的情況需要加以判斷,以下是乙個需要考慮的特殊情況:

(1)如果輸入的字串是空的字元

(2)如果輸入是帶正負號的字串

(3)在(2)的基礎上,如果只有乙個字元,且這個字元就是+-號

(4)如果字串的數值超過了整數的最大範圍,如何處理,這裡最好一開始就用long long int的數值型別。

一般是刷題的時候,網上提交的時候,如果函式的形式實現設定好了,就只需要考慮前面三點了,但是如果是自己寫**,就需要注意後面的幾點了。

2.2 **:

//將字串轉化成整數

class

solution1

//只輸入乙個正號或者是負號

if(str.size()==1 && (str[0]=='+' || str[0]=='-'))

auto size = str.size();

auto c = str[0];

int num=0;

bool temp=false; //判斷是否為負數

for(auto i=0;iif(i==0)

else

}else}}

if(temp)

num*=-1;

return num;

}};

3 擴充套件:將字串轉化成小數

轉化成小數,需要考慮到小數點,以及小數點後的資料的位數。

//將字串轉化成小數

class

solution

else

return

0; }

else

}else

if(str[i]=='.')

else

return

0; }

}if(temp)

num*=-1;

return num;

}};

寫在最後:

做這一類的題目,最需要注意的點:首先考慮特殊情況,將所有的特殊情況盡量考慮的清楚點,思路一定要清晰了再開始寫**。

把字串轉換成整數

題目 輸入乙個表示整數的字串,把該字串轉換成整數並輸出。例如輸入字串 345 則輸出整數345 分析 這道題儘管不是很難,學過c c 語言一般都能實現基本功能,但不同程式設計師就這道題寫出的 有很大區別,可以說這道題能夠很好地反應出程式設計師的思維和程式設計習慣,因此已經被包括微軟在內的多家公司用作...

把字串轉換成整數

題目 輸入乙個表示整數的字串,把該字串轉換成整數並輸出。例如輸入字串 345 則輸出整數 345。分析 這道題儘管不是很難,學過c c 語言一般都能實現基本功能,但不同程式設計師就這道題寫出的 有很大區別,可以說這道題能夠很好地反應出程式設計師的思維和程式設計習慣,因此已經被包括微軟在內的多家公司用...

把字串轉換成整數

題目 輸入乙個表示整數的字串,把該字串轉換成整數並輸出。例如輸入字串 345 則輸出整數 345。分析 這道題儘管不是很難,學過 c c 語言一般都能實現基本功能,但不同程式設計師就這道題寫出的 有很大區別,可以說這道題能夠很好地反應出程式設計師的思維和程式設計習慣,因此已經被包括微軟在內的多家公司...