看了st官方例程的乙個 str2int() 函式,新增了幾行中文注釋。特色之處是將十進位制可能帶k、m的地方作了處理。
/*** @brief convert a string to an integer
* @param inputstr: the string to be converted
* @param intnum: the intger value
* @retval 1: correct
* 0: error
*/uint32_t str2int(uint8_t *inputstr, int32_t *intnum)
// 16進製制字串最多有10個字元外加1個結束符
// 假設:inputstr ="0x12345678"
// 則 inputstr[0] = '0', inputstr[1] = 'x'
// 則 inputstr[2] = '1', inputstr[3] = '2'
// 則 inputstr[4] = '3', inputstr[5] = '4'
// 則 inputstr[6] = '5', inputstr[7] = '6'
// 則 inputstr[8] = '7', inputstr[9] = '8'
// 則 inputstr[10] = '\0'
for (i = 2; i < 11; i++)
// 未到字串結尾
if (isvalidhex(inputstr[i]))
else
} // for迴圈 結束
/* over 8 digit hex --invalid */
if (i >= 11)
} // 16進製制的字元處理 結束
else /* max 10-digit decimal input */
else if ((inputstr[i] == 'k' || inputstr[i] == 'k') && (i > 0))
else if ((inputstr[i] == 'm' || inputstr[i] == 'm') && (i > 0))
else if (isvaliddec(inputstr[i]))
else
}/* over 10 digit decimal --invalid */
if (i >= 11)
}return res;
}
字串轉換為整數
class program catch exception ee console.read 轉換類 public class strconverter bool positive true int32 result 0 double tempresult 0 int start 0 while st...
字串轉換為整數
題目 輸入乙個表示整數的字串,把該字串轉換成整數並輸出。例如輸入字串 345 則輸出整數345。分析 這道題儘管不是很難,學過c c 語言一般都能實現基本功能,但不同程式設計師就這道題寫出的 有很大區別,可以說這道題能夠很好地反應出程式設計師的思維和程式設計習慣,因此已經被包括微軟在內的多家公司用作...
字串轉換為整數
字串轉換為整數需要考慮很多種情況,如下 第一種情況 空指標 第二種情況 空字串 第三種情況 空白字元 第四種情況 中間有字母的 int main atoi 函式遇見a就自動停下來了,輸出123 第五種情況 前面有符號的 int main 輸出 12345 第六種情況 前面有空格 int main 輸...