Main Content

str2double

Convert strings to double precision values

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

    2.7180    3.1416
  137.0000    0.0150

You can convert text to numbers using the str2double function.

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

str = "81470.5"
str = 
"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 = ["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

Input Arguments

collapse all

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

Extended Capabilities

Version History

Introduced before R2006a