首页 > 解决方案 > OCaml 中的浮点数运算

问题描述

我正在尝试编写一个函数,该函数将浮点数列表作为输入并返回一个列表,其中所有负数都从输入列表中删除,然后所有得到的正数都被否定。

let f (mylist: float list) : float list = 
    let f1 = List.filter (fun x -> x < 0.0) mylist in
        List.map (fun x -> (-x*1.0)) f1

我有一个类型错误:

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

这是为什么?

谢谢你。

标签: ocaml

解决方案


我想通了。最后一次,要对浮点数求反,适当的运算符是:

(-.x)

推荐阅读