提出問題:為何要把字串轉換為數字?
答:c要求使用數值形式進行數值運算。但是在螢幕上顯示數字則要求字串形式,因為螢幕顯示的是字元。
printf()和sprintf()函式,通過%d和其他轉換說明,把數字從數值形式轉換為字串形式,scanf()可以把輸入字串轉為數值形式。
數字既能以字串形式儲存,也能以數值形式儲存。把數字儲存為字串就數字字元。
例如:數字123以『1』、『2』、『3』、『\0』的形式被儲存在字串陣列中。而以數值形式儲存123,儲存的是int型別的值。
該問題的實際應用如下:假設你編寫的程式需要使用數值命令形參,但是命令形參被讀取為字串。因此,要使用數值必須先把字串轉化為數字。
如果需要整數可以使用atoi()函式(用於把字母數字轉換成整數),該函式接受乙個字元引數,返回相應的整數值。
下面演示該函式的用法:
//把命令列引數轉化為數字
#include
#include
intmain
(int argc,
char
*ar**)
else
}return0;
}
命令列引數被儲存為字串3\0。atoi()函式把該字串轉換為整數值3,然後該值被賦給times。該值確定了執行for迴圈的次數。 字串轉換為數字
include include using namespace std 思路 首先看字串第一位是不是 或者 如果是 最後結果乘以乙個 1 如果是 最後結果乘以乙個1 然後遍歷字串,發現字元直接返回0 是數字,將其轉換為int型別 字元型別的數字轉換為整數型別的數字需要 48 轉換為數字後,乘以它所需...
字串轉換為數字
將乙個字串轉換為數字,這個題目很簡單。很多人都能在三分鐘之內寫出如下不到 10 行的 unsigned exchange char t return num 上面的 可以執行出來正確的結果。但是還需要考慮到以下幾點 輸入的字串中有非數字字元和正負號 考慮到最大的正整數和最小的負整數以及溢位 int ...
把字串轉換為整數
題目 將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。數值為0或者字串不是乙個合法的數值則返回0 思路 若為負數,則輸出負數,字元0對應48,9對應57,不在範圍內則返回0,並列印錯誤資訊 public class strtoint public static int strtoint ...