Преобразование от символьных массивов до числовых значений

Функциональные сводные данные

Функции, перечисленные в этой таблице, обеспечивают много способов преобразовать символьные массивы в числовые данные.

Функция

Описание

Пример

doubleединственный

uint8uint16uint32uint64

int8int16int32int64

Преобразуйте символ в целочисленный код, который представляет тот символ.

'Hi'→ 72 105

str2num

Преобразуйте тип символов в числовой тип.

'72 105'→ [72 105]

str2double

Подобно str2num, но предложения лучшая производительность и работают со строковыми массивами и массивами ячеек из символьных векторов.

"72" "105"→ [72 105]

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

hex2num

Преобразуйте числовой тип в тип символов заданной точности, возвратив символьный массив, который может оценить MATLAB®.

'A''-1.4917e-154'

hex2dec

Преобразуйте тип символов шестнадцатеричной основы к положительному целому числу.

'A'→ 10

bin2dec

Преобразуйте тип символов двоичного числа к десятичному числу.

'1010'→ 10

base2dec

Преобразуйте тип символов любого основания системы счисления от 2 до 36 до десятичного числа.

'12'→ 10 (если base== 8 )

Преобразование от кода символа

Символьные массивы и строковые массивы хранят каждый символ как 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 функция преобразует массив строк или массив ячеек из символьных векторов к значениям с двойной точностью, которые они представляют:

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              

Преобразование от особой системы счисления

Чтобы преобразовать от символьного представления недесятичного номера к значению того номера, используйте одну из этих функций: hex2numhex2decbin2dec, или base2dec.

hex2num и hex2dec функции оба берут шестнадцатеричный (базируйтесь 16), входные параметры, но hex2num возвращает IEEE® число с плавающей запятой с двойной точностью, которое он представляет, в то время как hex2dec преобразует в десятичное целое число.