2017-10-27 31 views
0

정수 배열에 0이 들어 있지만 char 배열로 변환하면 앞에 오는 0은 사라집니다. char 배열에 선행 0을 넣을 수 있습니까?Matlab char 배열의 0 선행

예 : '004D9' 대신 ' 4D9'을 인쇄합니다. 앞에 오는 0은 어떻게 인쇄합니까?

답변

0

숫자 배열의 각 요소를 살펴보고이를 문자열로 변환합니다. 그때 함께

a = [0,0,2,3,4,5,6]; 
my_str = ''; 

for ii=1:numel(a) 
    my_str(ii) = num2str(a(ii)); 
end 
disp(my_str) 

이것은 당신이 선두에 제로 16 진수 정수를 인쇄 할 말은 가정의 출력을 '0023456'

+0

감사합니다. 내 배열은 char 배열이고이 메서드는 작동하지 않습니다. –

1

을 제공 이것들을 연결하여, 당신은 단지 formatspec에서 최고의 0 플래그가 필요합니다

>> n = 1241; 
>> s = num2str(n,'%05X') 
s = 
004D9 
+0

감사합니다. char 배열을 검색하려고 할 때도 uint32로 변환해도 char 배열과 작동하지 않습니다. 여전히 0이 붙어 있습니다. –

+0

@mariafrank 코드의 [최소, 완전하고 검증 가능한 예] (https://stackoverflow.com/help/mcve)를 게시하십시오. – TroyHaskin

+0

예를 들어, 첫 번째 문자열은 두 번째로 시작해야하지만 0을 표시하는 대신 첫 번째 행은 A (1, :) = '004D'두 번째 A (2, :) = 96FA'이어야합니다. 공백 문자'4D'가있을 것이며 텍스트 파일에 저장하려고하면 공백으로 저장 될 것이고, 텍스트 파일을 호출하면 첫 번째 문자열을 무시하고'96FA '라는 두 번째 문자 만 출력 할 것입니다 '어떻게 해결할 수 있습니까? –