Documentation

This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.

str2double

Convert string to double precision value

Syntax

Description

example

X = str2double(str) converts the text in str to double precision values. str contains text that represents real or complex numeric values. str can be a character vector, a cell array of character vectors, or a string array. If str is a character vector or string scalar, then X is a numeric scalar. If str is a cell array of character vectors or a string array, then X is a numeric array that is the same size as str.

Text that represents a number can contain digits, a comma (thousands separator), a decimal point, a leading + or - sign, an e preceding a power of 10 scale factor, and an i or a j for a complex unit. You cannot use a period as a thousands separator, or a comma as a decimal point.

If str2double cannot convert text to a number, then it returns a NaN value.

Examples

collapse all

Convert character vectors that represent numbers to double precision values. You can also convert a cell array of character vectors to a numeric array of the same size.

Convert a character vector to a real number.

X = str2double('3.1416')
X =

    3.1416

Convert a character vector when it represents a number using exponential notation.

X = str2double('2.998e8')
X =

   299800000

Convert a character vector that uses a comma as the thousands separator.

X = str2double('1,200.34')
X =

   1.2003e+03

Convert a character vector to a complex number.

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

   3.1400 + 2.7000i

Convert a cell array of character vectors to a numeric array.

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

    2.7180    3.1416
  137.0000    0.0150

Starting in R2016b, you can create string arrays using the string function. You can convert strings to numbers using the str2double function.

Create a string that represents a number. Convert it to a numeric scalar.

str = string('81470.5')
str = 

  string

    "81470.5"

X = str2double(str)
X =

   8.1470e+04

Create a string array representing numbers. Convert it to a numeric array that is the same size.

str = string({'91.57','95.95','3.57';
              '79.22','65.57','84.91'})
str = 

  2×3 string array

    "91.57"    "95.95"    "3.57" 
    "79.22"    "65.57"    "84.91"

X = str2double(str)
X =

   91.5700   95.9500    3.5700
   79.2200   65.5700   84.9100

Input Arguments

collapse all

Text that represents numbers, specified as a character vector, a cell array of character vectors, or a string array.

More About

collapse all

Tall Array Support

This function fully supports tall arrays. For more information, see Tall Arrays.

See Also

| | | |

Introduced before R2006a

Was this topic helpful?