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. 使用atoi()输入验证整数使用atoi()
- 3. atoi无符号整数的等效
- 4. atoi和字符串数组
- 5. C++与双打
- 6. 和繁衍双打和整数不起作用
- 7. 双和整数转换
- 8. 字符串中的非整数和使用atoi
- 9. 从Java的Rhino JS/ScriptEngine - 整数,双打?
- 10. 圆整双数到整数?
- 11. CFLOOP与双打 - Coldfusion
- 12. For循环与双打和数组和列表
- 13. 了解atoi()函数
- 14. Java扫描器类,计数我的双打和非双打
- 15. Java递归和整数双位数字
- 16. atoi和前导0的十进制数
- 17. 双打数组
- 18. 作为两个双打总和的双双精度浮点数
- 19. 双打和平等
- 20. 整数列之和是双倍
- 21. 理解双精度和整数
- 22. 的atoi()放弃输出为0尽管串具有整数
- 23. 将字符串转换为整数而不使用atoi
- 24. C - 双模的整数floor整数
- 25. 在C中打印一个双精度数而不是整数
- 26. Visual Studio用双打替换幻数整数
- 27. 如何将ieee754双打转换为两个整数的分数?
- 28. 整数乘法的双和存储结果作为双
- 29. 数学与NSNumbers和整数
- 30. 与字符一起使用atoi