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 >> |