想想我有一個像這樣的整數數組: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. 將「整數字符串」轉換爲整數數組
- 8. C++將整數字符串轉換爲整數數組?
- 9. 如何將字符串數組轉換爲整數數組?
- 10. 將字符串數組轉換爲整數數組
- 11. 將字符串數組轉換爲整數數組
- 12. 將字符串數組轉換爲整數數組
- 13. numpy將分類字符串數組轉換爲整數數組
- 14. Java - 將音頻的字節數組轉換爲整數數組
- 15. MATLAB - 將數字字符數組轉換爲數字整數數組/矩陣?
- 16. Javascript - 將整數轉換爲數組
- 17. 將整數轉換爲數組
- 18. 將numpy數組值轉換爲整數
- 19. 將EnumSet轉換爲整數數組
- 20. 轉換字符數組爲整數
- 21. 轉換字符串數組爲整數
- 22. 轉換字節數組爲整數
- 23. Java:我想將整數數組轉換爲數學數字
- 24. 將包含整數數組的字符串轉換爲整數數組in java
- 25. 將數字轉換爲純整數
- 26. 將TextBox數字轉換爲整數
- 27. 將羅馬數字轉換爲整數
- 28. 將InputStream.read()轉換爲數字(非整數)
- 29. 轉:將數組中的字符串轉換爲整數
- 30. Android:將字節數組轉換爲整型數組
我不得不說,我從來沒有想過這樣做,或看到任何人試圖做到這一點。獨創性的榮譽,或選擇一個隱藏在我身邊的問題。 – chris
這是類似的,但比[這個問題]更簡單(http://stackoverflow.com/questions/11187898/how-to-concatinate-3-ints-into-unsigned-long-long/)。我的解決方案適用於這個問題,但由於您不關心格式化,所以'stringstream'解決方案似乎更簡單。 – juanchopanza