如何在仅使用<;的情况下将字符串转换为double;iostream>&书信电报;字符串>&书信电报;cstdlib>&书信电报;标准h>;,及<;卡塞特>;? 我是C++新手,我的老师给我一个练习程序,它只是为了练习,而不是写作业,而且没有价值,所以不用担心。我要做的是从标准输入流中读取输入,并将它与任意的字符串进行比较,然后在项目中我必须把它转换成一个双。(因此,我不能直接把它当作替身来读)
到目前为止,我可以将其读入并存储为字符串如何在仅使用<;的情况下将字符串转换为double;iostream>&书信电报;字符串>&书信电报;cstdlib>&书信电报;标准h>;,及<;卡塞特>;? 我是C++新手,我的老师给我一个练习程序,它只是为了练习,而不是写作业,而且没有价值,所以不用担心。我要做的是从标准输入流中读取输入,并将它与任意的字符串进行比较,然后在项目中我必须把它转换成一个双。(因此,我不能直接把它当作替身来读),c++,string,C++,String,到目前为止,我可以将其读入并存储为字符串字符串输入;cin>>输入;,但是,我不知道如何将其转换为双精度。问题是我只能使用以下库: <iostream>, <string>, <cstdlib>, <stdio.h>, and <cassert>. 、和。 我在cstdlib中查看了atof,但它只接受char*而不是字符串。有什么建议吗 我在cstdlib中研究了atof,但它只接受char*而不是字符串 调用字符串将为其内容提供
字符串输入;cin>>输入;
,但是,我不知道如何将其转换为双精度。问题是我只能使用以下库:
<iostream>, <string>, <cstdlib>, <stdio.h>, and <cassert>.
、和。
我在cstdlib
中查看了atof
,但它只接受char*
而不是字符串。有什么建议吗
我在cstdlib中研究了atof,但它只接受char*
而不是字符串
调用字符串将为其内容提供一个char const*
,并将其传递给C库函数,因此您可以这样做
atof(s.c_str()) // where s is an std::string
我在cstdlib中研究了atof,但它只接受char*
而不是字符串
调用字符串将为其内容提供一个char const*
,并将其传递给C库函数,因此您可以这样做
atof(s.c_str()) // where s is an std::string
C++字符串类使用C字符数组作为其低级存储。可以使用这个
返回该字符数组。
< P> C++字符串类使用C字符数组作为其低级存储。
简单:
#include <string>
std::string s = "0.5";
double d = std::stod(s);
#包括
std::string s=“0.5”;
双d=std::stod(s);
简单:
#include <string>
std::string s = "0.5";
double d = std::stod(s);
#包括
std::string s=“0.5”;
双d=std::stod(s);
试试这个:
#include <sstream>
double a;
const std::string str = "1.0";
std::istringstream is(str);
is >> a;
#包括
双a;
常量std::string str=“1.0”;
std::istringstream是(str);
是>>a;
试试这个:
#include <sstream>
double a;
const std::string str = "1.0";
std::istringstream is(str);
is >> a;
#包括
双a;
常量std::string str=“1.0”;
std::istringstream是(str);
是>>a;
std::string
有一个方法c_str()
可以为您提供char const*
。但是您真的可以使用atof()
,或者您应该知道如何处理字符串中的字母来计算double的值吗?使用atof()
几乎不会教你任何东西。我被允许使用atof(),因为这只是一个更大的项目的一小部分std::string
有一个方法c_str()
可以给你char const*
。但是你真的被允许使用atof()
,或者您应该知道如何处理字符串中的字母来计算double的值吗?使用atof()
几乎不会教您任何东西。我可以使用atof()因为这只是一个更大的项目+1的一小部分,但我们希望老师安装了一个C++11编译器。+1,但我们希望老师安装了一个C++11编译器。有什么方法可以告诉我字符串是0还是不是数字。我问这个问题是因为它说atof在无法解析atof()时返回0
在出现错误时设置全局变量errno
。std::stod()
更易于使用。是否有任何方法可以判断字符串是0还是不是数字。我问这个问题是因为它说atof在无法解析atof()时返回0
在出现错误时设置全局变量errno
。std::stod()
更易于使用。