Main Content

str2double

Convertir cadenas a valores de precisión doble

Descripción

ejemplo

Nota

Se recomienda llamar a string y luego a double en lugar de a str2double porque proporciona una mayor flexibilidad y permite la vectorización. Para obtener más información, consulte Funcionalidad alternativa.

X = str2double(str) convierte el texto de str a valores de precisión doble. str contiene texto que representa valores numéricos reales o complejos. str puede ser un vector de caracteres, un arreglo de celdas de vectores de caracteres o un arreglo de cadenas. Si str es un vector de caracteres o escalar de cadena, X es un escalar numérico. Si str es un arreglo de celdas de vectores de caracteres o un arreglo de cadenas, X es un arreglo numérico que tiene el mismo tamaño que str.

El texto que representa un número puede contener dígitos, una coma (para separar los miles), un punto decimal, un signo + o - delante, un e antes de una potencia de factor de escala 10 y un i o un j en una unidad imaginaria. No puede usar un punto para separar los miles ni una coma para separar decimales.

Si str2double no puede convertir texto en un número, entonces devuelve un valor NaN.

Ejemplos

contraer todo

Convierta vectores de caracteres que representan números a valores de precisión doble. También puede convertir un arreglo de celdas de vectores de caracteres a un arreglo numérico del mismo tamaño.

Convierta un vector de caracteres a un número real.

X = str2double('3.1416')
X = 3.1416

Convierta un vector de caracteres cuando represente un número que utilice notación exponencial.

X = str2double('2.998e8')
X = 299800000

Convierta un vector de caracteres que usa una coma para separar los miles.

X = str2double('1,200.34')
X = 1.2003e+03

Convierta un vector de caracteres a un número complejo.

X = str2double('3.14 + 2.7i')
X = 3.1400 + 2.7000i

Convierta un arreglo de celdas de vectores de caracteres a un arreglo numérico.

str = {'2.718','3.1416';
       '137','0.015'};
X = str2double(str)
X = 2×2

    2.7180    3.1416
  137.0000    0.0150

Puede convertir texto a números con la función str2double.

Cree una cadena que represente un número. Conviértala a un escalar numérico.

str = "81470.5"
str = 
"81470.5"
X = str2double(str)
X = 8.1470e+04

Cree un arreglo de cadenas que represente números. Conviértala a un arreglo numérico que tenga el mismo tamaño.

str = ["292.1" "139.44" ".241" "0" "100.245"]
str = 1x5 string
    "292.1"    "139.44"    ".241"    "0"    "100.245"

X = str2double(str)
X = 1×5

  292.1000  139.4400    0.2410         0  100.2450

Argumentos de entrada

contraer todo

Texto que representa números, especificado como vector de caracteres, arreglo de celdas de vectores de caracteres o arreglo de cadenas.

Funcionalidad alternativa

Actualice el código que emplea str2double para utilizar string y luego double en su lugar. Utilizar double para convertir un arreglo char produce un arreglo de los valores Unicode® correspondientes. El texto de las cadenas no se convierte de esta forma. Por ejemplo:

No recomendadoRecomendado
x = str2double('13')
x =

    13
x = double(string('13'))
x =

    13

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a

Consulte también

| | | | | |