Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

숫자형 값을 텍스트로 변환하기

이 예제에서는 숫자형 값을 텍스트로 변환하여 더 큰 텍스트의 일부로 추가하는 방법을 보여줍니다. 예를 들어, 레이블에 플롯의 특성을 설명하는 숫자가 포함된 플롯에 레이블 또는 제목을 추가하고 싶을 수도 있을 것입니다.

문자열로 변환

R2016b 이전 버전에서는 num2str을 사용하여 문자형 벡터로 변환하십시오.

숫자를 그 숫자를 나타내는 문자열로 변환하려면 string 함수를 사용하십시오.

str = string(pi)
str = 
"3.1416"

string 함수는 숫자형 배열을 같은 크기를 갖는 string형 배열로 변환합니다.

A = [256 pi 8.9e-3];
str = string(A)
str = 1x3 string
    "256"    "3.141593"    "0.0089"

정밀도, 필드 너비 및 지수 표기법에 대한 형식 지정자를 받는 compose 함수를 사용하여 출력 텍스트의 형식을 지정할 수 있습니다.

str = compose("%9.7f",pi)
str = 
"3.1415927"

입력값이 숫자형 배열이면 compose는 string형 배열을 반환합니다. 지수 표기법을 사용하여 숫자를 나타내는 string형 배열을 반환합니다.

A = [256 pi 8.9e-3];
str = compose("%5.2e",A)
str = 1x3 string
    "2.56e+02"    "3.14e+00"    "8.90e-03"

문자열에 숫자 추가하기

R2016b 이전 버전에서는 숫자를 문자형 벡터로 변환하고 대괄호 []로 문자를 결합하십시오.

텍스트와 숫자를 결합하는 가장 간단한 방법은 plus 연산자(+)를 사용하는 것입니다. 이 연산자는 다른 피연산자가 문자열일 때 자동으로 숫자형 값을 문자열로 변환합니다.

예를 들어, 사인파를 플로팅해 보겠습니다. 파동의 주파수를 계산하고 플롯의 제목에 이 값을 나타내는 문자열을 추가해 봅니다.

X = linspace(0,2*pi);
Y = sin(X);
plot(X,Y)
freq = 1/(2*pi);
str = "Sine Wave, Frequency = " + freq + " Hz"
str = 
"Sine Wave, Frequency = 0.15915 Hz"
title(str)

Figure contains an axes. The axes with title Sine Wave, Frequency = 0.15915 Hz contains an object of type line.

기존 텍스트가 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 저장된 경우도 있습니다. 하지만 plus 연산자도 다른 피연산자가 문자열일 때 해당 유형의 데이터를 자동으로 문자열로 변환합니다. 해당 데이터 유형이 포함된 숫자형 값을 결합하려면 먼저 숫자형 값을 문자열로 변환한 다음 plus를 사용하여 텍스트를 결합하십시오.

str = 'Sine Wave, Frequency = ' + string(freq) + {' Hz'}
str = 
"Sine Wave, Frequency = 0.15915 Hz"

문자 코드

데이터에 Unicode® 값을 나타내는 정수가 포함된 경우 char 함수를 사용하여 그 값을 상응하는 문자로 변환합니다. 출력값은 문자형 벡터이거나 문자형 배열입니다.

u = [77 65 84 76 65 66];
c = char(u)
c = 
'MATLAB'

유니코드 값을 변환하면 텍스트에 특수 문자도 포함시킬 수 있습니다. 예를 들어, 도 단위 기호에 대한 유니코드 값은 176입니다. char(176)을 문자열에 추가하려면 plus를 사용하십시오.

deg = char(176);
temp = 21;
str = "Temperature: " + temp + deg + "C"
str = 
"Temperature: 21°C"

R2016b 이전 버전에서는 num2str을 사용하여 숫자형 값을 문자로 변환한 다음 결합하십시오.

str = ['Temperature: ' num2str(temp) deg 'C']
str = 
'Temperature: 21°C'

16진수 값과 2진수 값

R2019b 이상

텍스트 또는 리터럴을 사용하여 코드에서 16진수 값과 2진수 값을 나타낼 수 있습니다. 이러한 값을 나타내기 위해 권장되는 방법은 값을 리터럴로 작성하는 것입니다. 각각 0x 접두사와 0b 접두사를 사용하여 16진수 리터럴과 2진수 리터럴을 작성할 수 있습니다. 하지만 dec2hex 함수나 dec2bin 함수를 사용하여 이러한 값을 텍스트로 나타내는 것이 유용한 경우가 있을 수 있습니다.

예를 들어, 비트를 2진수 값으로 설정해 보겠습니다. 리터럴을 사용하여 2진수 값을 지정할 경우 이 값은 정수로 저장됩니다. 비트 중 하나를 설정했으면 dec2bin 함수를 사용하여 새 2진수 값을 텍스트로 표시합니다.

register = 0b10010110
register = uint8
    150
register = bitset(register,5,0)
register = uint8
    134
binStr = dec2bin(register)
binStr = 
'10000110'

참고 항목

| | | | |

관련 항목