c++ - 如何在 C++ 中将 vector<int> 连接到单个 int?

标签 c++ vector int

我如何在 C++ 中将整数 vector 转换为单个整数?

vector<int>myints = {3, 55, 2, 7, 8}

预期答案:355278

最佳答案

这是一种快速而肮脏的方法:

using namespace std;

vector<int> myints = {3, 55, 2, 7, 8};
stringstream stream;

for(const auto &i : myints)
{
    stream << i;
}

int value = stoi(stream.str());

这里有一种不用字符串的方法:

using namespace std;

vector<int> myints = {3, 55, 2, 7, 8};

int value = 0;
for(auto i : myints)
{
    int number = i;
    do
    {
        value *= 10;
        i /= 10;
    }while(i != 0);

    value += number;
}

cout << value << endl;

i/= 10 是这里的关键位,因为它根据当前数字 i

中的位数按比例放大数字

关于c++ - 如何在 C++ 中将 vector<int> 连接到单个 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46430727/

相关文章:

c - 为什么 sizeof(int) == sizeof(long)?

c++ - C 或 C++ 中的多态引擎

c++ - qemu-系统-i386 : Error loading uncompressed kernel without PVH ELF Note

c++ - C++ 头文件中的 const 数组声明

c++ - vector 构造函数中的段错误

c++ - vector 和push_back()

c - 如果同一输入位置可能有 char 或 int,如何 scanf

c++ - 在模板类中初始化类型为 'T &' 的静态成员的正确方法是什么?

c++ - 清除 vector 或定义新 vector ,哪个更快

java - 强制转换 (int) 无法正常工作