将int转换为F#中的float

时间:2013-08-19 17:13:50

标签: f#

学习F#,语法对我来说仍然很陌生。如何将此整数转换为float?

let add x y =
    x + y

let j = 2
add 1.1 j

在C#Float + int = Float

float j = 1.1f + 5;

5 个答案:

答案 0 :(得分:26)

编辑:误读问题......

我很确定float()函数可以完成这项任务:

add 1.1 (float 2)

答案 1 :(得分:8)

首先,您指定的函数的类型为int->int->int,这意味着需要2 int s并返回int。如果您希望它使用float,您需要指定其中一个参数的类型:

let add (x : float) y = x + y
//add : float->float->float

正如其他人所提到的,您可以使用float函数转换为float()

float 2 //2 : float

如果您使用的是示例中的数字文字,则只能使用2.0而不是2类型的float

add 1.1 2.0

答案 2 :(得分:5)

您可以使用float函数转换为浮点数:

let add x y = x + (float y)

答案 3 :(得分:2)

因为float是一个功能,所以

有一定的优雅
add 1.1 (j |> float)

从表面上看,这并不比add 1.1 (float 2)好多少,但是如果你想将长计算的结果转换为浮点数,那么正向管道就非常有用。

答案 4 :(得分:1)

以下是一些显示强制转换语法的示例:

让x:int = 5(将x转换为整数)

设b:byte = byte x(cast b为一个字节)

点击此链接:

http://msdn.microsoft.com/en-us/library/dd233220.aspx