如何在Julia中检查数值

Bre*_*ett 7 types julia

我想在尝试使用函数之前确定值是否为数字.作为一个具体的例子:

z = [1.23,"foo"]
for val in z
    if isnumeric(val)
        round(z)
    end
end
Run Code Online (Sandbox Code Playgroud)

isnumeric()是朱莉娅不认为存在的功能.我能想到的几个不同的方面,这可能会做,但我想看到的"最佳"的方式提出了一些建议.

DNF*_*DNF 10

认为首选的习语是

isa(val, Number)
Run Code Online (Sandbox Code Playgroud)

通常,您对圆形浮子感兴趣,在这种情况下

isa(val, AbstractFloat)
Run Code Online (Sandbox Code Playgroud)


Mic*_*gge 9

您可以像这样检查元素的类型:

typeof(val)<:Number
Run Code Online (Sandbox Code Playgroud)

:<操作者确认如果类型是另一个的子类型.

这是一个非常有用的图表,概述了Julia中的数字类型:https://en.wikibooks.org/wiki/Introducing_Julia/Types