2
A
回答
5
第一个参数是一个指向字符。 c_str()从字符串对象中为您提供该指针。第二个参数是可选的。它将包含一个指向字符串中数值之后的下一个字符的指针。有关更多信息,请参见http://www.cplusplus.com/reference/clibrary/cstdlib/strtod/。
string s;
double d;
d = strtod(s.c_str(), NULL);
1
如果您使用的是C++,那么为什么不使用std::stringstream
?
std::stringstream ss("78.987");
double d;
ss >> d;
,或者甚至更好boost::lexical_cast
为:
double d;
try
{
d = boost::lexical_cast<double>("889.978");
}
catch(...) { std::cout << "string was not a double" << std::endl; }
0
我不明白的参数。
查看该链接strtod。通过示例提供所有信息。
2
第一个参数是要转换的字符串,第二个参数是对char *的引用,您希望指向原始字符串中float后面的第一个char(如果您想要开始读取数字后的字符串)。如果你不关心第二个参数,你可以将它设置为NULL。
例如,如果我们有以下变量:
char* foo = "3.14 is the value of pi"
float pi;
char* after;
pi = strtod(foo, after)
后的值将是:
foo is "3.14 is the value of pi"
pi is 3.14f
after is " is the value of pi"
注意,这两个foo和之后都指向同一个数组。
相关问题
- 1. 将double转换为字符串C++?
- 2. 如何将double转换为字符串?
- 3. 在C++中使用boost :: lexical_cast将double转换为字符串?
- 4. 如何将C++中的double转换为字符串
- 5. 如何将字符串转换为c中的double值?
- 6. 如何使用C#将字符串转换为PascalCase字符串?
- 7. Java:将double转换为字符串
- 8. 将double转换为字符串1
- 9. Swift 3将Double转换为字符串
- 10. Swift将double转换为字符串
- 11. 乔达时间混淆将DateTimeField转换为文本/字符串
- 12. C字符串混淆
- 13. 使用属性将clr-property中的double转换为字符串
- 14. C#:将用户输入字符串“Pi”转换为Double Math.PI
- 15. 将double转换为C#中的字符串分数
- 16. 如何将“Double”转换为VBScript中的格式化字符串
- 17. 如何将字符串转换为jasper Reports中的Double值?
- 18. 如何将double转换为android中的字符串
- 19. 如何在C++中将字符串转换为具有6位精度的double?
- 20. 将字符串转换为Double然后返回字符串
- 21. 将字符串转换为double,然后再将double转换为字符串而不丢失精度
- 22. VB6 - 使用特定文化将字符串转换为double?
- 23. 如何使用P/INVOKE将C++ char *转换为C#字符串
- 24. 如何使用Swift将textField的字符串转换为xCode中的Double
- 25. 将字符串[]转换为十进制[],int [],float [] .double [] in c#
- 26. 如何将double转换为Hex字符串?
- 27. 如何将字符串转换为double?我得到异常
- 28. 如何将pascal字符串转换为double?
- 29. 如何将十六进制字符串的值转换为c#中的double值?
- 30. 如何将double转换为C++中的字符串(无科学记数法)?
他的意思是使用strtod() – fazo 2011-04-16 14:49:41
Fazo是正确的,但我欣赏输入,无论 – Sam 2011-04-16 14:57:17
它的工作原理,但它非常缓慢。 – 2016-09-10 03:06:58