ドキュメンテーション

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

文字配列から数値への変換

関数のまとめ

次の表の関数を使用すると、文字配列を数値データに変換できます。

関数

説明

uintN (例: uint8)

文字をその文字を表す整数コードに変換

'Hi'72 105

str2num

文字型を数値型に変換

'72 105'[72 105]

str2double

str2num と同様の機能だが、より高性能で、string 配列および文字ベクトルの cell 配列に使用可能

"72" "105" [72 105]

{'72' '105'} [72 105]

hex2num

指定された精度の文字型に数値型を変換し、MATLAB® で評価可能な文字配列を返す

'A''-1.4917e-154'

hex2dec

16 進数の文字型を正の整数に変換

'A'10

bin2dec

2 進数の文字型を 10 進数に変換

'1010'10

base2dec

基数が 2 ~ 36 の文字型を 10 進数に変換

'12'10 (base == 8 の場合)

文字コードからの変換

文字配列と string 配列は、各文字を 16 ビットの数値として格納します。文字を数値に変換するには、整数変換関数 (たとえば、uint8)、または関数 double を、文字表現に戻すには char を使用します。

name = 'Thomas R. Lee';

name = double(name)
name =
    84  104  111  109  97  115  32  82  46  32  76  101  101

name = char(name)
name =

    'Thomas R. Lee'

数値を表すテキストの変換

str2num を使用して、文字配列をそれが表す数値に変換します。

chr = '37.294e-1';

val = str2num(chr)
val =

    3.7294

関数 str2double は、string 配列または文字ベクトルの cell 配列を、それらが表す倍精度値に変換します。

c = {'37.294e-1'; '-58.375'; '13.796'};
str = string({'3.14159','2.718'});

d = str2double(c)

d =

    3.7294
  -58.3750
   13.7960

x = str2double(str)

x =

    3.1416    2.7180

whos
  Name      Size            Bytes  Class     Attributes

  c         3x1               380  cell                
  d         3x1                24  double              
  str       1x2               196  string              
  x         1x2                16  double              

特定の基数からの変換

10 進数以外の文字表現を数値に変換するには、hex2numhex2decbin2dec、または base2dec のいずれかの関数を使用します。

関数 hex2num および関数 hex2dec は、どちらも 16 進数 (基底は 16) の入力を受け付けますが、hex2num は対応する IEEE® の倍精度浮動小数点数を返し、hex2dec は 10 進数整数に変換します。