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