ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

str2num

文字配列または string の数値配列への変換

説明

X = str2num(chr) は文字配列または string スカラーを数値行列に変換します。入力には、個別の要素を示すためにスペース、コンマ、セミコロンを使用できます。str2num は入力を数値として解析できない場合、空の行列を返します。

関数 str2num は cell 配列または非スカラー string 配列を変換せず、+ 演算子と - 演算子周囲の余白を識別します。さらに、str2num は関数 eval を使用します。これにより、入力に関数名が含まれる場合に意図しない副作用が生じる可能性があります。このような問題を回避するには、str2double を使用します。

[X,tf] = str2num(chr) は、str2numchr を正常に変換した場合、追加で 2 番目の出力引数として 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

str2numuint16 を使用して、文字ベクトルを符号なし 16 ビット整数に変換します。

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

true および false を含む文字ベクトルを logical 配列に変換します。

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

   0   1   1   0

失敗した変換のステータスを返します。tf0X は空の行列です。

[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 配列または cell 配列を数値配列に変換するには、関数 str2double を使用します。

出力引数

すべて折りたたむ

出力配列。数値行列として返されます。

true または false の結果。データ型 logical1 または 0 として返されます。

R2006a より前に導入