如何:將字串轉換為浮點數

結論

使用一個由 Microsoft C 或 C/C++ 開發的程式中,sscanf() 函式是 atof() 函式的一個合適替身,您可以利用它將數字字串轉換為浮點數。若字串代表的不是有效數字,atof() 會傳回數值零,sscanf() 則傳回更有用的錯誤資訊。這個應用程式可以利用 sscanf() 傳回的錯誤值以及 matherr() 函數,執行錯誤處理。除非發生實際的數學例外狀況,否則 atof() 函式不會呼叫 matherr()。


以下內容是兩種將字串轉換為浮點數的建議方法。
  • 呼叫 atof() 函式之前,務必先驗證要轉換的字串。請確認字串不包含任何非數字字元,並確認十進位小數點與符號字元的位置是正確的。
  • 使用 sscanf() 函式。它的速度較 atof() 函式慢,但發生錯誤時可以提供更佳的資訊。

参考

本文件是根據 Microsoft Knowledgebase 文件編號 Q11558 翻譯的。若要參考原始英文文件內容,請至以下網址:


內容

文章識別碼:11558 - 最後檢閱時間:2005年7月5日 - 修訂: 1

意見反應