숫자형 값을 텍스트로 변환하기
이 예제에서는 숫자형 값을 텍스트로 변환하여 더 큰 텍스트의 일부로 추가하는 방법을 보여줍니다. 예를 들어, 레이블에 플롯의 특성을 설명하는 숫자가 포함된 플롯에 레이블 또는 제목을 추가하고 싶을 수도 있을 것입니다.
문자열로 변환
숫자를 그 숫자를 나타내는 문자열로 변환하려면 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)
기존 텍스트가 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 저장된 경우도 있습니다. 하지만 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'
참고 항목
dec2bin
| dec2hex
| char
| string
| compose
| plus