转换函数奇怪的行为

时间:2015-09-01 04:10:38

标签: julia

为什么转换从不使用convert(type, x)函数从浮点到整数?

当我使用int64(1.5)时,它可以正常返回2,但是当我尝试执行convert(Int64, 1.5)时,它会引发InexactError。幕后发生了什么?

documentation并没有取悦我。

1 个答案:

答案 0 :(得分:3)

convert以这种方式工作的原因是它是一个非常通用的转换函数,由许多其他函数隐式调用。因此,它被设计为或多或少的无损转换,以避免任何令人不快的意外。

在Julia 0.3中,您可以使用iroundiflooriceil以指定方式将浮点数舍入为整数。在Julia 0.4中,您应该将请求的结果类型作为roundfloorceil的初始参数。