2
A
回答
1
假設升壓是一個選項,Boost.lexical_cast是轉換和數值的字符串表示一個常用的方法,如:
char const s[] = "1.2345";
try
{
double d = boost::lexical_cast<double>(s);
...
}
catch (boost::bad_lexical_cast &)
{
...
}
2
給atoi類似()有double atof (const char * str)
,您可以使用 Reference
1
檢查atoi
,atol
,strtol
家庭:如果你真的使用
http://www.fiveanddime.net/man-pages/strtol.3.html
http://www.kernel.org/doc/man-pages/online/pages/man3/strtol.3.html
1
C++(不只是C),那麼你可以使用stl的將文本解析爲浮點數。
1
您可以使用std::stringstream
爲:
std::stringstream ss(text);
double value;
if (!(ss >> value))
{
std::cout << "error : text is not double" << std::endl;
}
0
兩個atoi
和atof
或多或少被破壞;沒有辦法做任何錯誤檢查。在大多數情況下,最簡單的辦法是使用strtod
:
char* endPtr;
errno = 0;
value = strtod(input, &endPtr);
if (errno != 0 || *skipSpaces(endPtr) != '\0')
// Illegal input, conversion failed.
(我一般的istringstream
的粉絲,但在這種情況下,似乎矯枉過正)
相關問題
- 1. Java的標識整數和雙打
- 2. 大整數和雙整數
- 3. 使用atoi()輸入驗證整數使用atoi()
- 4. 函數與atoi()相反?
- 5. atoi無符號整數的等效
- 6. atoi和字符串數組
- 7. 要與'atoi()'整數的二進制字符串
- 8. C++與雙打
- 9. 和繁衍雙打和整數不起作用
- 10. 雙和整數轉換
- 11. Java - 雙精度和整數
- 12. 字符串中的非整數和使用atoi
- 13. C雙打與.NET雙打不同嗎?
- 14. 從Java的Rhino JS/ScriptEngine - 整數,雙打?
- 15. 使用別名與整數表示和ULP正確比較雙打
- 16. 雙打,整型,Math.Round在C#
- 17. CFLOOP與雙打 - Coldfusion
- 18. 圓整雙數到整數?
- 19. C#雙整數
- 20. For循環與雙打和數組和列表
- 21. Java掃描器類,計數我的雙打和非雙打
- 22. Java遞歸和整數雙位數字
- 23. 紅寶石雙「..」整數與迭代
- 24. 性能交換整數與雙倍
- 25. 整型和雙差
- 26. Atoi(char * p)函數
- 27. 瞭解atoi()函數
- 28. atoi和前導0的十進制數
- 29. 雙打數組
- 30. 作爲兩個雙打總和的雙雙精度浮點數