julia - 禁用类型 "promotion"(自动类型断言)

标签 julia

在 Julia 中,类型会自动“升级”,例如:

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

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

最佳答案

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

关于julia - 禁用类型 "promotion"(自动类型断言),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22562042/

相关文章:

julia - 如何在 Julia 中加速多个广播

julia - 如何更改 Compose.jl 中的坐标系?

julia - 在 Julia 中索引数组时避免内存分配

julia - 在julia中重复一个整数

types - 如何从Julia中的泛型类型的实例中提取特定类型?

dictionary - 以字符串作为键和任何值的字典

julia - 'UndefVarError : x not defined' when calling a macro outside of its module (Julia v1. 1)

dictionary - 在 Julia-lang 中遍历嵌套的 Dict

julia - 反引号表示法中的可选参数

julia - 如何在 Julia 中获取函数的执行时间?