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