我想计算一个多态数。 我知道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.
这是你在想的吗?