이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.
이 예제에서는 숫자형 값을 텍스트로 변환하여 더 큰 텍스트의 일부로 추가하는 방법을 보여줍니다. 예를 들어, 레이블에 플롯의 특성을 설명하는 숫자가 포함된 플롯에 레이블 또는 제목을 추가하고 싶을 수도 있을 것입니다.
숫자형 값을 string형이나 문자형 벡터로 변환할 수 있습니다. 이때 10진수, 16진수 또는 2진수의 텍스트 표현으로 변환 가능합니다. 같은 기법으로 datetime
형 값 또는 duration
형 값도 텍스트로 변환할 수 있습니다.
숫자를 그 숫자를 나타내는 문자열로 변환하려면 string
함수를 사용하십시오.
A = 3.1416
A = 3.1416
str = string(A)
str = "3.1416"
string
함수는 숫자형 배열을 같은 크기를 갖는 string형 배열로 변환합니다.
A = [256 3.1416 8.9e-3]
A = 1×3
256.0000 3.1416 0.0089
str = string(A)
str = 1x3 string
"256" "3.1416" "0.0089"
char
함수도 숫자를 문자로 변환하지만, string
과 동일한 변환을 수행하지는 않습니다. 더 정확히 말하면, 숫자를 개별 문자로 변환합니다(예: 65
를 문자 A
로 변환). 따라서 부동소수점 숫자를 그 숫자를 나타내는 문자열로 변환할 때는 이 함수를 사용하지 않는 것이 좋습니다.
compose
, sprintf
또는 num2str
함수를 사용하여 출력 텍스트의 형식을 지정할 수 있습니다. 이런 함수는 정밀도, 필드 너비, 지수 표기법을 지정할 수 있도록 형식 지정자를 받습니다.
str = compose("%9.7f",pi)
str = "3.1415927"
입력값이 숫자형 배열이면 compose
는 string형 배열을 반환합니다. 지수 표기법을 사용하여 숫자를 나타내는 string형 배열을 반환합니다.
A = [256 3.1416 8.9e-3];
str = compose("%5.2e",A)
str = 1x3 string
"2.56e+02" "3.14e+00" "8.90e-03"
compose
, sprintf
및 num2str
함수는 다양한 유형의 출력값을 반환합니다.
compose
는 입력 숫자형 배열과 같은 크기를 갖는 string형 배열을 반환합니다.
sprintf
는 입력값이 숫자형 배열일 때도 문자형 벡터 또는 string형 스칼라를 반환합니다.
num2str
은 항상 문자형 벡터를 반환합니다.
가장 좋은 방법은 string
또는 compose
함수를 사용하여 값을 변환하는 것입니다.
숫자형 값을 변환하려면 string
을 사용하십시오.
출력 텍스트의 형식도 제어하려면 compose
를 사용하십시오.
char
함수는 사용하지 마십시오. 이 함수는 숫자를 유니코드 값을 나타내는 정수로 취급해 이에 대응하는 문자로 변환합니다.
일반적으로 이러한 함수는 파일 이름 또는 플롯의 레이블과 같은 다른 텍스트에 덧붙일 수 있도록 숫자를 텍스트로 변환할 때 사용할 수 있습니다.
예를 들어, 사인파를 플로팅하고 플롯에 제목을 추가해 보겠습니다. 파동의 주파수를 계산하고 플롯의 제목에 이 값을 나타내는 문자열을 추가해 봅니다.
X = linspace(0,2*pi); Y = sin(X); plot(X,Y) xlabel("X") ylabel("Y") freq = string(1/(2*pi)); titleStr = append("Sine Wave, Frequency = ",freq," Hz")
titleStr = "Sine Wave, Frequency = 0.15915 Hz"
title(titleStr)
또는 plus
연산자를 사용하여 문자열 끝에 텍스트를 추가할 수도 있습니다. 하지만 plus
는 문자형 벡터를 숫자형 배열처럼 처리합니다.
titleStr = "Sine Wave, Frequency = " + freq + " Hz"
titleStr = "Sine Wave, Frequency = 0.15915 Hz"
append
함수는 텍스트를 string형 배열, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열에 추가합니다. 따라서 append
함수를 사용하는 것이 가장 좋습니다.
텍스트 또는 리터럴을 사용하여 코드에서 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'
MATLAB은 날짜/시간을 저장하고 이를 숫자형 값으로 처리하기 위해 datetime
데이터형 및 duration
데이터형을 제공합니다. 이와 같은 값을 날짜/시간을 나타내는 텍스트로 변환하려면 string
함수와 char
함수를 사용하십시오.
현재 날짜와 시간을 문자열로 나타냅니다.
d = datetime('now')
d = datetime
31-Jan-2020 22:39:10
str = string(d)
str = "31-Jan-2020 22:39:10"
duration형 값으로 구성된 배열을 나타냅니다.
D = seconds(1:5)
D = 1x5 duration
1 sec 2 sec 3 sec 4 sec 5 sec
str = string(D)
str = 1x5 string
"1 sec" "2 sec" "3 sec" "4 sec" "5 sec"
append
| bitset
| char
| compose
| datetime
| dec2bin
| dec2hex
| duration
| plot
| plus
| seconds
| string
| title