相关疑难解决方法(0)

如何连接std :: string和int?

我认为这很简单,但它存在一些困难.如果我有

std::string name = "John";
int age = 21;
Run Code Online (Sandbox Code Playgroud)

如何组合它们以获得单个字符串"John21"

c++ int concatenation stdstring

631
推荐指数
16
解决办法
61万
查看次数

如何在C++中将字符串转换为double?

如何在C++中将字符串转换为double?我想要一个函数,当字符串不是数字时返回0.

c++

34
推荐指数
6
解决办法
12万
查看次数

C++字符串转换为双倍

通常当我用C++编写任何东西并且我需要将a转换为a时char,int我只需要创建一个int等于char 的新东西.

我用过代码(片段)

 string word;  
 openfile >> word;
 double lol=word;
Run Code Online (Sandbox Code Playgroud)

我收到错误

Code1.cpp cannot convert `std::string' to `double' in initialization 
Run Code Online (Sandbox Code Playgroud)

错误究竟意味着什么?第一个字是数字50.谢谢:)

c++ string double file

32
推荐指数
4
解决办法
18万
查看次数

将double转换为字符串C++?

可能重复:
如何在C++中将double转换为字符串?

我想组合一个字符串和一个双G ++正在抛出这个错误:

main.cpp:在函数'int main()'中:
main.cpp:40:错误:类型'const char [2]'的无效操作数和'double'到二进制'operator +'

这是抛出错误的代码行:

storedCorrect[count] = "("+c1+","+c2+")";

storedCorrect []是一个字符串数组,c1和c2都是双精度数.有没有办法将c1和c2转换为字符串,以允许我的程序正确编译?

c++ string double tostring

27
推荐指数
4
解决办法
16万
查看次数

ostringstream给了我隐式实例化错误

我正在尝试这个答案中提供的优雅解决方案,但无论我尝试什么,我都无法通过Implicit instantiation of undefined template此行的错误:

std::ostringstream strs;

我需要做什么?我已经包括以下内容,我肯定是有点过分了.作为第二个问题,似乎很难找到确切需要包含在ostringstream中的内容:

#include <iostream>
#include <fstream>
#include <iosfwd>
#include <ios>
Run Code Online (Sandbox Code Playgroud)

c++ string

19
推荐指数
1
解决办法
1万
查看次数

C++格式宏/内联ostringstream

我正在尝试编写一个允许我执行以下操作的宏:FORMAT(a << "b" << c << d),结果将是一个字符串 - 与创建ostringstream,插入a...d和返回相同.str().就像是:

string f(){
   ostringstream o;
   o << a << "b" << c << d;
   return o.str()
}
Run Code Online (Sandbox Code Playgroud)

基本上,FORMAT(a << "b" << c << d) == f().

首先,我试过:

1: #define FORMAT(items)                                                   \
   ((std::ostringstream&)(std::ostringstream() << items)).str()
Run Code Online (Sandbox Code Playgroud)

如果第一个项目是C字符串(const char *),它将以十六进制格式打印字符串的地址,接下来的项目将打印正常.如果第一个项目是a std::string,则将无法编译(没有匹配的运算符<<).

这个:

2: #define FORMAT(items)                                                   \
   ((std::ostringstream&)(std::ostringstream() << 0 << '\b' << items)).str()
Run Code Online (Sandbox Code Playgroud)

带给你的似乎是一个正确的输出,但0\b存在当然的字符串中.

以下似乎工作,但编译警告(采取临时地址):

3: #define FORMAT(items) …
Run Code Online (Sandbox Code Playgroud)

c++ printing format macros ostringstream

14
推荐指数
2
解决办法
7250
查看次数

科学记数法中的字符串C++以双重转换

我有一个数据库填充了以下双打:

1.60000000000000000000000000000000000e+01
Run Code Online (Sandbox Code Playgroud)

有人知道如何在C++中将这样的数字转换为double吗?

是否有"标准"方式来做这类事情?或者我必须自己动手?

现在我正在做这样的事情:

#include <string>
#include <sstream>



int main() {
    std::string s("1.60000000000000000000000000000000000e+01");
    std::istringstream iss(s);
    double d;
    iss >> d;
    d += 10.303030;
    std::cout << d << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

c++ math scientific-notation type-conversion

14
推荐指数
2
解决办法
2万
查看次数

将double转换为Char Array C++

我试图将一个double转换(和舍入)到一个char数组,而不是先在double上转换为std :: to_string.但是,我正在接收随机内存文本.我究竟做错了什么?

这是我的代码:

double d = 1.0929998; 
d = std::round(d * 100) / 100;

char s[sizeof(d)];
std::memcpy(s,&d,sizeof(d));
Run Code Online (Sandbox Code Playgroud)

结果:

s: q =×£pñ?

预期价值:

s: 1.09

c++ string double c-strings

5
推荐指数
1
解决办法
3932
查看次数

将float转换为string

可能重复:
将double转换为字符串C++?

我在页面中搜索但我没有找到解决方案.

我有一个从int转换为字符串的方法.但现在我需要从float/double转换为string.因为我想在文件中写一些数据.

谁能帮我?

提前致谢.

c++ string floating-point

3
推荐指数
2
解决办法
7万
查看次数

如何在C++中将声明为double的变量输出到文本文件中

我是C++的新手,我想知道如何输出/写入声明为double的变量到txt文件.我知道如何使用fstream输出字符串,但我无法弄清楚如何发送任何其他内容.我开始认为你不能发送任何东西,但字符串到文本文件是正确的吗?如果是这样,那么如何将存储在变量中的信息转换为字符串变量?

这是我的代码,我正在尝试实现这个概念,它相当简单:

int main()
{

double invoiceAmt = 3800.00;
double apr = 18.5;            //percentage

//compute cash discount
double discountRate = 3.0;    //percentage
double discountAmt;

discountAmt = invoiceAmt * discountRate/100;

//compute amount due in 10 days
double amtDueIn10;

amtDueIn10 = invoiceAmt - discountAmt;

//Compute Interest on the loan of amount (with discount)for 20 days
double LoanInt;

LoanInt = amtDueIn10 * (apr /360/100) * 20;

//Compute amount due in 20 days at 18.5%.
double amtDueIn20;

amtDueIn20 = invoiceAmt * (1 + (apr …
Run Code Online (Sandbox Code Playgroud)

c++ fstream iostream

2
推荐指数
1
解决办法
2696
查看次数

ostringstream 插入器是否使用当前区域设置?

要将双精度转换为不带科学记数法的字符串,建议的方法是

std::ostringstream strStream;
strStream << std::fixed;
strStream << value;
std::string str = strStream.str();
Run Code Online (Sandbox Code Playgroud)

如在 将 << 与 double 一起使用时防止 ostream 中的科学记数法&如何将 double 转换为 C++ 中的字符串?

我想将双精度转换为字符串,没有任何分隔符和点/句点作为小数点,即忽略区域设置。

从ostringstreamstd::fixedshowpoint的描述中,我无法确定

  1. 小数点是否位于当前语言环境?和
  2. str() 返回的字符串中是否会根据语言环境存在其他分隔符(例如千位分组)?

如果按照当前区域设置,那么如何覆盖,以便它始终以点/句号作为小数点并且没有分组?

c++ string double iostream

2
推荐指数
1
解决办法
1437
查看次数

什么是从int | double到string的转换的简洁C++习语?

通过相关的问答来看,转换为字符串的最佳C++实践似乎是

ostringstream stringStream;
stringStream << input_value;        // let's say, input_value is a double
output_string = stringStream.str();
Run Code Online (Sandbox Code Playgroud)

有没有办法在不到三行干净的C++中实现相同的目标?

c++

0
推荐指数
2
解决办法
624
查看次数