Преобразуйте символьный массив или строку к числовому массиву
преобразует символьный массив или строковый скаляр к числовой матрице. Вход может включать пробелы, запятые и точки с запятой, чтобы указать на отдельные элементы. Если X
= str2num(chr
)str2num
не может проанализировать вход как числовые значения, затем он возвращает пустую матрицу.
str2num
функция не преобразует массивы ячеек или нескалярные строковые массивы, и чувствительна к разрядке вокруг +
и -
операторы.
Примечание
Факторы безопасности:
str2num
реализован с помощью eval
функция, которая оценивает входной параметр. При вызове str2num
с недоверяемым вводом данных пользователем подтвердите вход, чтобы избежать неожиданного выполнения кода. Примерами недоверяемого ввода данных пользователем являются данные, прибывающие от пользователя, которого вы не можете знать, или из источника вы не имеете никакого контроля. Если необходимо обратиться к этому беспокойству, рассмотрите эти подходы:
Подтвердите входные параметры к str2num
. Во-первых, ищите позволенные операции, такие как использование ()
, /
, *
, +
, -
, и .
, и буквы e
и i
. Затем если вы находите другие операции, запрещаете выполнение.
Замена str2num
с функцией такой как str2double
.
Непреднамеренные Побочные эффекты: Кроме того, могут быть другие непреднамеренные побочные эффекты, когда вход включает имя функции. Чтобы избежать этих проблем, использовать str2double
.