在C++中转换int为等效的最简单方法是什么?string我知道两种方法.有没有更简单的方法?
(1)
int a = 10;
char *intStr = itoa(a);
string str = string(intStr);
Run Code Online (Sandbox Code Playgroud)
(2)
int a = 10;
stringstream ss;
ss << a;
string str = ss.str();
Run Code Online (Sandbox Code Playgroud) 只是有一个简短的问题.我已经在互联网上看了很多,我找到了一些解决方案,但没有一个已经有效.看一下将字符串转换为int,我不是指ASCII码.
为了快速减少,我们将方程作为字符串传递.我们要将其分解,正确格式化并求解线性方程.现在,在说,我无法将字符串转换为int.
我知道字符串将采用格式(-5)或(25)等,所以它肯定是一个int.但是我们如何从字符串中提取它?
我想的一种方法是通过字符串运行for/while循环,检查一个数字,然后提取所有数字,然后查看是否有一个前导' - ',如果存在,则将int乘以 - 1.
虽然这个小问题看起来有点过于复杂.有任何想法吗?
可能重复:
如何在C++中将字符串解析为int?
我做了一些研究,有些人说使用atio而其他人说它很糟糕,我无论如何也无法让它工作.
所以我只想问一下,将字符串转换为int的正确方法是什么.
string s = "10";
int i = s....?
Run Code Online (Sandbox Code Playgroud)
谢谢!
可能重复:
如何在C++中将字符串解析为int?
如何将C++字符串转换为int?
假设您希望字符串中包含实际数字(例如,"1","345","38944").
另外,让我们假设你没有提升,你真的想用C++方式来做,而不是狡猾的旧C方式.
将std :: vector从一种数据类型转换为另一种数据类型(以节省空间的想法)的最快方法(如果有的话)是什么?例如:
std::vector<unsigned short> ----> std::vector<bool>
Run Code Online (Sandbox Code Playgroud)
我们显然假设第一个向量只包含0和1.在矢量非常大的情况下,逐个元素复制是非常低效的.
条件问题:如果您认为没有办法更快地完成它,是否有一个复杂的数据类型实际上允许从一种数据类型快速转换到另一种数据类型?
可能重复:
c ++将字符串转换为int
我有用户输入9个数字.我需要将字符串数转换为int
string num;
int num_int, product[10];
cout << "enter numbers";
cin >> num;
for(int i =0; i<10; i++){
product[i] = num[i] * 5; //I need the int value of num*5
}
Run Code Online (Sandbox Code Playgroud) 我有一根绳子,xxxxxxxxxxxxxxxxxxx
我正在将字符串读入较小字符串的结构,并使用 substr 来解析它。我需要将其中一种字符串类型转换为整数。
atoi不适合我。我该怎么做?它说:
无法将 std::string 转换为 const char*
#include <iostream>
#include <string>
using namespace std;
void main();
{
string s = "453"
int y = atoi(S);
}
Run Code Online (Sandbox Code Playgroud)