如何在Julia中将字符串解析为float或int?

log*_*ick 5 julia

我正在尝试获取一个字符串a = "99.99",然后将其转换为float类型。最重要的是,我也希望能够转换a为int。我怎样才能做到这一点?内置int()float()函数似乎不接受字符串。

julia> a = "99.99"
"99.99"

julia> float(a)
ERROR: MethodError: no method matching AbstractFloat(::String)
Closest candidates are:
  AbstractFloat(::Bool) at float.jl:252
  AbstractFloat(::Int8) at float.jl:253
  AbstractFloat(::Int16) at float.jl:254
  ...
Stacktrace:
 [1] float(::String) at ./float.jl:271
 [2] top-level scope at REPL[2]:1

julia> Int(a)
ERROR: MethodError: no method matching Int64(::String)
Closest candidates are:
  Int64(::Union{Bool, Int32, Int64, UInt32, UInt64, UInt8, Int128, Int16, Int8, UInt128, UInt16}) at boot.jl:710
  Int64(::Ptr) at boot.jl:720
  Int64(::Float32) at float.jl:700
  ...
Stacktrace:
 [1] top-level scope at REPL[3]:1
Run Code Online (Sandbox Code Playgroud)

受此职位启发。

Ans*_*hvi 5

您可以使用该parse(::Type{T}, ::AbstractString)函数,如下所示:

julia> parse(Float64, "1")
1.0
Run Code Online (Sandbox Code Playgroud)