Main Content

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

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

문자열로 변환

숫자를 그 숫자를 나타내는 문자열로 변환하려면 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"

문자열에 숫자 추가하기

텍스트와 숫자를 결합하는 가장 간단한 방법은 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 object. The axes object 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"

16진수 값과 2진수 값

텍스트 또는 리터럴을 사용하여 코드에서 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'

참고 항목

| | | | |

관련 항목