想想我有一个像这样的整数数组:a[0]=60; a[1]=321; a[2]=5;
现在我想将整个数组转换为整数,例如int b
在运行代码后变成603215。怎么做?将整数数组转换为数字
回答
使用std::stringstream
:
#include <iostream>
#include <sstream>
int main() {
std::stringstream ss;
int arr[] = {60, 321, 5};
for (unsigned i = 0; i < sizeof arr/sizeof arr [0]; ++i)
ss << arr [i];
int result;
ss >> result;
std::cout << result; //603215
}
注意,在C++ 11婉转丑陋的循环可以用这个来代替:
for (int i : arr)
ss << i;
而且,看如何有一个很好的可能性溢出,数字的字符串形式可以通过ss.str()
访问。为了解决溢出问题,可能比尝试将它塞进一个整数更容易。也应该考虑负值,因为如果第一个值为负数,这只会起作用(并且是有意义的)。
非常感谢你,尼斯答案:)) – Nofuzy
非常感谢它的工作....... –
的毗连所有的数字作为一个字符串,然后将其转换成数字
#include <string>
int b = std::stoi("603215");
我知道这个问题不是太具体,但我会想象数组元素可以是任意的它不会溢出整数)。对一个字符串值进行硬编码不会解决这个问题。不过,该函数是一个很好的替代开始(假设你有C++ 11)。 – chris
该算法将工作:
- 使用循环转换阵列的所有整数值转换为字符串。
- 现在将所有字符串值追加到从索引0到数组长度的一个字符串。
- 再次将该字符串更改为整数。
我在阅读时让你的算法更容易遵循。 FFR,编辑空间顶部有一个编号列表按钮。 – chris
int a[] = {60, 321, 5};
int finalNumber = 0;
for (int i = 0; i < a.length; i++) {
int num = a[i];
if (num != 0) {
while (num > 0) {
finalNumber *= 10;
num /= 10;
}
finalNumber += a[i];
} else {
finalNumber *= 10;
}
}
finalNumber具有结果:
迭代的阵列和将这些值转换成字符串。然后连接它们并转换回整数。
#include <string>
int a[] = {60, 321, 5};
std::string num = "";
for(auto val : a)
num += a;
int b = std::stoi(num);
- 1. 将整数转换为数组数字
- 2. 将字符数组转换为整数
- 3. 将字符数组转换为整数
- 4. 将字符数组转换为整数
- 5. 将字符数组转换为整数
- 6. 将字符串数组转换为整数数组
- 7. numpy将分类字符串数组转换为整数数组
- 8. 将字符串数组转换为整数数组
- 9. 将字符串数组转换为整数数组
- 10. 如何将字符串数组转换为整数数组?
- 11. Java - 将音频的字节数组转换为整数数组
- 12. MATLAB - 将数字字符数组转换为数字整数数组/矩阵?
- 13. 转换字节数组为整数
- 14. 将EnumSet转换为整数数组
- 15. Javascript - 将整数转换为数组
- 16. 将包含整数数组的字符串转换为整数数组in java
- 17. 将InputStream.read()转换为数字(非整数)
- 18. c#将ascii值的字节数组转换为整型数组
- 19. C将字符命令行参数转换为整数数组
- 20. 如何将整数转换为C中的数字数组?
- 21. 在matlab中将整数字符转换为数值数组
- 22. 将整数转换为字符数组(字节)
- 23. 将26个整数的数组转换为字符(字母)
- 24. 在C++中将字符数组转换为整数字符串
- 25. 将整数转换为数组数组的函数C++
- 26. 如何将整数文本行转换为整数数组?
- 27. 将整数转换为整数数组c
- 28. 将一串数字转换为数组
- 29. 将byte []数组转换为字节数
- 30. 如何将字节数组转换为整数,然后转换为字符串,以显示整数值?
我不得不说,我从来没有想过这样做,或看到任何人试图做到这一点。独创性的荣誉,或选择一个隐藏在我身边的问题。 – chris
这是类似的,但比[这个问题]更简单(http://stackoverflow.com/questions/11187898/how-to-concatinate-3-ints-into-unsigned-long-long/)。我的解决方案适用于这个问题,但由于您不关心格式化,所以'stringstream'解决方案似乎更简单。 – juanchopanza