다음과 같은 정수 배열이 있다고 생각하십시오. 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
고마워요. 작동 중입니다 ....... –
CONCAT 모든 문자열로 숫자와 다음이 알고리즘이 작동 할 수
#include <string>
int b = std::stoi("603215");
질문이 너무 구체적이지는 않지만, 배열 요소가 임의적 일 수 있다고 생각합니다. 정수를 오버플로하지 않음). 문자열 값을 하드 코딩하는 것은 그 문제를 해결하지 못합니다. 이 함수는 좋은 대체 시작입니다 (C++ 11을 사용한다고 가정). – chris
해당 변환 :
- for 루프를 사용하여 문자열로 배열의 모든 정수 값을 변환합니다.
- 모든 문자열 값을 색인 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는 결과를 갖는다 : 603,215
으로 반복 배열 및 문자열 값으로 변환한다. 그런 다음 모두를 연결하고 정수로 다시 변환하십시오.
#include <string>
int a[] = {60, 321, 5};
std::string num = "";
for(auto val : a)
num += a;
int b = std::stoi(num);
- 1. 정수 배열을 문자열로 변환
- 2. Java - 오디오의 바이트 배열을 정수 배열로 변환
- 3. 배열을 숫자로 다시 인덱싱
- 4. 배열을 사용하여 숫자로 단어
- 5. 오브젝트 배열을 숫자로 변환합니다.
- 6. 오라클의 문자를 숫자로 변환
- 7. Postgres 문자열을 숫자로 변환
- 8. 문자열을 숫자로 변환
- 9. 개월을 mmm을 숫자로 변환
- 10. double을 숫자로 변환 - Sybase
- 11. 정수 배열을 사용하는 BubbleSort
- 12. HTML을 통해 XML을 PHP로 변환 - 숫자로 변환
- 13. 입력 문자열을 헥사 숫자로 변환
- 14. PROLOG- 서브 시퀀스를 숫자로 변환
- 15. VB 컴파일러 문자열에서 숫자로 변환
- 16. XSLT를 사용하여 문자열을 숫자로 변환
- 17. Excel vba - 문자열을 숫자로 변환
- 18. x86 ASCII 문자를 숫자로 변환
- 19. 숫자로 문자열 X'X "로 변환
- 20. 숫자로 된 문자열 키로 배열을 디딤음
- 21. 크리스탈 보고서에서 문자열을 분할하고 정수 배열을 만드는 방법
- 22. 정수 유형 간 변환
- 23. 정수 집합을 범위로 변환
- 24. 정수 식별자를 포인터로 변환
- 25. 특수 정수 변환
- 26. 문자열을 정수 목록으로 변환
- 27. 이진 변환 정수
- 28. 방법 요소를 추가 (또는 정수 ArrayList를 변환) 정수 배열 여기
- 29. 두 개의 정수 배열을 결합하십시오.
- 30. 숫자의 정수 배열을 정수로 변환합니다.
나는 이것에 대해 생각해 본적이 없다. 독창성에 대한 명성, 또는 저 자신으로부터 숨겨진 질문을 선택하십시오. – chris
이것은 비슷하지만 [이 질문] (http://stackoverflow.com/questions/11187898/how-to-concatinate-3-ints-into-unsigned-long-long/)보다 간단합니다. 내 솔루션은이 문제에 적용되지만, 포맷팅에 신경 쓰지 않기 때문에'stringstream' 솔루션이 더 단순 해 보인다. – juanchopanza