【问题标题】:OCaml - This expression has type float but an expression was expected of type intOCaml - 此表达式的类型为 float,但表达式应为 int 类型
【发布时间】:2015-10-25 05:27:34
【问题描述】:

如果我使用 truncate(应该将浮点数转换为 int),为什么会出现此错误?它接受一个整数列表。

let find_closest bi =
    let bi_integer = (car bi) in 
    truncate (floor ((log bi_integer)/(log 2)))

【问题讨论】:

  • 什么是cartruncatefloorlog
  • 语言中没有内置的截断、下限和日志?汽车设置为 List.hd
  • 对不起。我没有注意到...

标签: int ocaml


【解决方案1】:

使用(float_of_int bi_integer) 而不仅仅是bi_integer。同样用/.代替/,用2.0代替2——OCaml没有类型间的隐式转换。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-31
    • 1970-01-01
    • 2018-04-30
    • 1970-01-01
    相关资源
    最近更新 更多