SML中的类型转换

SML中的类型转换,sml,smlnj,Sml,Smlnj,我是SML的新手,使用的是SMLNJ方言 出于某种目的,我一直在尝试将3转换为3.0(int转换为real) 找不到出路。我该怎么做?如何在类型之间转换?您可以使用函数real(或real.fromInt)将int转换为real 有关更多信息,您可以查看顶级环境中可用的函数列表和Basis库的概述。SML没有类型转换。类型之间的任何映射都需要通过函数完成 real(3)的外观和行为非常类似于C风格的类型转换,但是real:int->real只是标准基础中的另一个函数int(3.0)不起作用,因为

我是SML的新手,使用的是SMLNJ方言

出于某种目的,我一直在尝试将3转换为3.0(int转换为real)


找不到出路。我该怎么做?如何在类型之间转换?

您可以使用函数
real
(或
real.fromInt
)将
int
转换为
real


有关更多信息,您可以查看顶级环境中可用的函数列表和Basis库的概述。

SML没有类型转换。类型之间的任何映射都需要通过函数完成

real(3)
的外观和行为非常类似于C风格的类型转换,但是
real:int->real
只是标准基础中的另一个函数<另一方面,code>int(3.0)不起作用,因为
int
函数不存在


一般来说,当您需要在类型之间转换时,只需在库中查找适当的函数。在
real->int
案例中,只要在
round
trunc
floor
ceil
中搜索“real->int”,我就找到了答案。例如,您只需键入
real(2)
即可将2(int)转换为2.0(real)。太好了,我认为这很有意义;)。int和real是两种不同的类型,SML不会从类型“int”转换为“real”。