2026a

# parse


将字符串转换为数字

# 语法

parse(type, str; base)

# 说明

parse(type, str; base) 将字符串解析为数字。对于整数类型,可以指定进制数(默认值为 10)。对于浮点类型,字符串被解析为十进制浮点数。复数类型从形式为 “R±Iim” 的十进制字符串解析为所请求类型的 Complex(R,I);也可以使用 “i” 或 “j” 代替 “im”,也允许使用 “R” 或“Iim” 。如果字符串不包含有效数字,则会引发错误。 示例

# 示例

转换为整数

将字符串类型的数字 1234 转换为整数。

parse(Int, "1234")
1234

将十六进制数 afc 转换为十进制,以整数形式输出。

parse(Int, "afc", base = 16)
2812
转换为浮点数

将科学计数法形式的数 1.2e-3 转换为浮点数类型。

parse(Float64, "1.2e-3")
0.0012
转换为复数

将复数形式的字符串转换为复数,且实部和虚部要求用浮点数表示。

parse(Complex{Float64}, "3.2e-1 + 4.5im")
0.32 + 4.5im
转换为布尔值

将布尔值内容的字符串转换为布尔值。

parse(Bool,"false")
false
将字符串数组转换为数值数组

您可以使用 parse 函数将文本转换为数值。

创建表示数值的字符串。将其转换为数值标量。

str = "81470.5"
str = "81470.5"
X = parse(Float64, str)
X = 81470.5

创建表示数值的字符串数组。将其转换为大小相同的数值数组。

str = ["292.1" "139.44" ".241" "0" "100.245"]
str = 1×5 Matrix{String}:
 "292.1"  "139.44"  ".241"  "0"  "100.245"
X = parse.(Float64, str)
X = 1×5 Matrix{Float64}:
 292.1  139.44  0.241  0.0  100.245

# 输入参数

type - 类型
DataType

类型,指定为 DataType。

str - 输入
字符串

输入,指定为字符串。输入字符串必须能够转换为 type 指定的类型。

base - 进制数
正整数

进制数,指定为正整数。base 表示输入的 str 所含的数字的进制。

# 提示

parse 函数与 tryparse 函数类似,但 parse 函数对于不能转换的字符串抛出 ArgumentError 错误,tryparse 函数对于不能转换的字符串不做返回。

# 另请参阅

big | signed | unsigned | convert | promote | tryparse