Types 如何检查Julia中的数值

Types 如何检查Julia中的数值,types,julia,Types,Julia,在尝试对某个值使用函数之前,我想确定该值是否为数值。作为一个具体的例子: z = [1.23,"foo"] for val in z if isnumeric(val) round(z) end end 这里的isnumeric()是一个我认为在Julia中不存在的函数。我可以想出几种不同的方法来实现这一点,但我希望看到一些关于“最佳”方法的建议。您可以像这样检查元素的类型: typeof(val)<:Number typeof(val)我认为首选的习语

在尝试对某个值使用函数之前,我想确定该值是否为数值。作为一个具体的例子:

z = [1.23,"foo"]
for val in z
    if isnumeric(val)
        round(z)
    end
end

这里的
isnumeric()
是一个我认为在Julia中不存在的函数。我可以想出几种不同的方法来实现这一点,但我希望看到一些关于“最佳”方法的建议。

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

typeof(val)<:Number
typeof(val)我认为首选的习语是

isa(val, Number)
通常您对舍入浮动感兴趣,在这种情况下

isa(val, AbstractFloat)

您的用例并不完全清楚,因此使用dispatch来控制不同类型的值调用的内容可能是有意义的。没有选择作为答案,因为使用内置的
isa()
是更好的方法。但是,您到Julia类型图的链接非常好。