strtod
проверка синтаксиса и преобразование строк литеральных чисел в десятичные числа
Синтаксис
[d, tails] = strtod(str) [d, tails] = strtod(str, decimalseparator)
Аргументы
- str
строковый одиночный элемент, вектор или матрица.
- decimalseparator
выбранный десятичный разделитель: "." (по умолчанию) или ",".
- d
скаляр, вектор или матрица десятичных чисел.
- tails
строка или матрица строк: оставшиеся части
strпосле начал чисел (если есть).
Описание
Инструкция [d, tails] = strtod(str) проверяет синтаксис каждого строкового
значения str и пытается интерпретировать его содержимое как десятичное число:
- Если это удалось, по крайней мере для головной части
str(i), то соответствующее число возвращается вd(i). Если возможно, завершающая частьstr(i)игнорируется и возвращается вtails(i); в противном случаеtails(i)возвращает "". - В противном случае
d(i)возвращает%nan, аtails(i)полностью равнаstr(i).
![]() |
|
Примеры
s = ["123.556 abc " ".543" "#58B" "0x73 " "%inf" "-1.47e-71" "67,432.57" " 23,5" "-,57" "Inf" ] [num, trail] = strtod(s); num, "/"+trail+"/" // С "," в качестве десятичного разделителя: [num, trail] = strtod(s, ","); num, "/"+trail+"/"
Смотрите также
- evstr — вычисление выражений
- isnum — проверка того, что строка представляет число
- isdigit — проверка того, что символы в строке являются цифрами между 0 и 9
- bin2dec — преобразование из двоичной системы счисления в десятичную
- oct2dec — преобразование из восьмеричной системы счисления в десятичную
- hex2dec — преобразование из шестнадцатеричной системы счисления в десятичную
История
| Версия | Описание |
| 5.5.0 | Введена опция decimalseparator (SEP 97). |
| 5.4.1 | Если str не содержит никаких числовых значений, то теперь
d возвращает Nan вместо 0. |
| Report an issue | ||
| << strsubst | Строки | strtok >> |
