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. 作为两个双打总和的双双精度浮点数