OCaml 如何将多态数转换为浮点数?



我想计算一个多态数。 我知道float_of_int但我想将未知类型(int 或 float(转换为浮点数。 那么如何将多态数转换为浮点数呢?

通过对您的用例做出一些假设:

type i_or_f = Int of int | Float of float;;
let conv x = match x with Int i -> float_of_int i | Float f -> f;;

i_or_f是 int 或浮点数的多态类型。

utop # conv (Int 4);;
- : float = 4.
utop # conv (Float 4.);;
- : float = 4.

这是你在想的吗?

最新更新