使用float_of_int键入转换

时间:2016-07-29 23:55:43

标签: ocaml

我从ocaml开始尝试:

float_of_int 8/2 ;;

我原以为它返回4.0因为8/2是4但是我得到一个错误说:

Error: This expression has type float but an expression was expected of type
int 

我在这里缺少什么?

2 个答案:

答案 0 :(得分:4)

你的表达式解析如下:

(float_of_int 8) / 2

因此,您要求使用适用于整数的/来划分浮点数。

函数应用程序(在OCaml中通过并排放置两个表达式表示)具有非常高的优先级,高于所有二进制中缀运算符。所以你需要使用括号。

如果你写的话会有效:

float_of_int (8/2)

答案 1 :(得分:0)

在阅读了Jeffrey的回答之后,我找到了另一种方法来处理这个表达式,但声明稍长一些:

[product_category category="appliances"]