Как мне разобрать строку в float или int в Julia? - PullRequest
5 голосов
/ 29 сентября 2019

Я пытаюсь взять строку 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

Вдохновленный этим постом .

1 Ответ

5 голосов
/ 29 сентября 2019

Вы можете использовать функцию parse(::Type{T}, ::AbstractString) следующим образом:

julia> parse(Float64, "1")
1.0
...