Main Content

str2num

문자형 배열 또는 string형을 숫자형 배열로 변환

설명

예제

X = str2num(txt)는 문자형 배열 또는 string형 스칼라를 숫자형 행렬로 변환합니다. 입력값에는 개별 요소를 나타내기 위해 공백, 쉼표, 세미콜론을 포함할 수 있습니다. 입력값을 숫자형 값으로 구문 분석할 수 없으면 str2num은 빈 행렬을 반환합니다.

str2num 함수는 셀형 배열 또는 비 스칼라 string형 배열을 변환하지 않으며, + 연산자와 - 연산자 앞뒤의 공백을 무시하지 않습니다.

참고

보안 고려 사항: str2num은 eval을 사용하여 구현되며, 이는 원치 않는 부작용을 초래할 수 있습니다. 신뢰할 수 없는 사용자 입력값을 사용하여 str2num 함수를 호출할 때는 예기치 않은 코드 실행을 방지하기 위해 Evaluation='restricted' 또는 str2double 함수를 사용하십시오

예제

X = str2num(txt,Evaluation=method)txt 평가 방식을 결정합니다. 디폴트 값은 "all"이며 모든 입력값을 평가합니다. Evaluation="restricted"를 지정하면 txt에 대해 받는 입력값을 200, 200+2i 또는 exp(2) 같은 기본 수학 표현식으로 제한합니다.

예제

[X,tf] = str2num(txt)str2numtxt를 성공적으로 변환한 경우에 두 번째 출력 인수 1(true)을 추가로 반환합니다. 그렇지 않으면 str2num0(false)을 반환합니다.

예제

모두 축소

숫자를 나타내는 문자형 벡터를 변환합니다.

X = str2num('100')
X = 100
X = str2num('100 200 300 400')
X = 1×4

   100   200   300   400

str2num은 지수 표기법을 해석합니다.

X = str2num('12e-3 5.9e-3 -8.1e-3 2.56e-3; 5 11.2 17.9 33')
X = 2×4

    0.0120    0.0059   -0.0081    0.0026
    5.0000   11.2000   17.9000   33.0000

이름-값 인수 Evaluation="restricted"를 사용하여 받는 입력값을 기본 수학 표현식으로 제한합니다.

Evaluation이 설정되지 않은 경우, str2num은 모든 입력값을 평가합니다.

X = str2num("datetime")
X = datetime
   25-Jan-2024 19:59:15

Evaluation="restricted"를 지정하여 받는 입력값을 기본 수학 표현식으로 제한합니다. 기본 수학 표현식이 아닌 입력값은 대신 []을 반환합니다.

X = str2num("datetime",Evaluation="restricted")
X =

     []

str2numuint16을 사용하여 문자형 벡터를 부호 없는 16비트 정수로 변환합니다.

X = str2num('256');
X = uint16(X)
X = uint16
    256

truefalse가 포함된 문자형 벡터를 논리형 배열로 변환합니다.

X = str2num('false true true false')
X = 1x4 logical array

   0   1   1   0

실패한 변환의 상태를 반환합니다. tf0이고 X는 빈 행렬입니다.

[X,tf] = str2num('12e-3 m/s, 5.9e-3 m/s')
X =

     []
tf = logical
   0

여분의 텍스트(m/s)를 제거하면 성공적으로 변환됩니다.

[X,tf] = str2num('12e-3 5.9e-3')
X = 1×2

    0.0120    0.0059

tf = logical
   1

입력 인수

모두 축소

숫자형 행렬 표현으로, 문자형 배열 또는 string형 스칼라로 지정됩니다.

숫자형 행렬을 나타내는 텍스트에는 공백, 쉼표 또는 세미콜론이 포함될 수 있습니다(예: '5', '10,11,12', '5,10;15,20'). 입력 텍스트에는 숫자형 값과 구분 기호 외에도 다음 항목이 포함될 수 있습니다.

  • 소수점

  • 선행 + 또는 - 기호

  • 10의 거듭제곱 스케일링 인자 앞에 오는 문자 e 또는 d

  • 복소수나 허수를 나타내는 문자 i 또는 j

  • 논리값을 나타내는 true 또는 false

공백 문자의 유무는 유의미할 수 있습니다. 예를 들어, str2num('1+2i')str2num('1 + 2i')는 모두 복소수 1.0000 + 2.0000i를 반환하고, str2num('1 +2i') 는 1×2 벡터 [1.0000 + 0.0000i 0.0000 + 2.0000i]를 반환합니다. 이러한 문제를 방지하려면 str2double 함수를 사용하십시오.

str2num은 문자형 배열과 string형 스칼라만 변환합니다. 비 스칼라 string형 배열 또는 셀형 배열을 숫자형 배열로 변환하려면 str2double 함수를 사용하십시오.

평가 방법으로, "all" 또는 "restricted"로 지정됩니다. 평가 방법을 "restricted"로 지정하면 chr에 대해 받는 입력값을 기본 수학 표현식으로 제한합니다.

출력 인수

모두 축소

출력 배열로, 숫자형 행렬로 반환됩니다.

true 또는 false 결과로, logical 데이터형의 1이나 0으로 반환됩니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

모두 확장