禁用“促销”类型(自动类型断言)

时间:2014-03-21 14:50:15

标签: julia

在朱莉娅,类型会被自动"提升",例如:

x = 8
y = 1.0
typeof(x)
typeof(y)
typeof(x + y)

是否可以禁用此自动类型促销?我是隐含的东西 (x + y)::Int64

1 个答案:

答案 0 :(得分:2)

没有任何方法可以将整数添加到浮点数而不先将它们转换为通用类型。允许您添加混合类型的数值的每种语言都将首先进行某种促销。在这种情况下,如果您想要Int结果,则可以使用int函数转换结果:int(8 + 1.0)。请注意,这会通过舍入将浮点数转换为整数,而不是像许多语言一样截断。您还可以在添加之前将1.0转换为Int,在这种情况下,您将添加两个整数,并且您将获得一个整数。