29

学习 F#,语法对我来说还是很陌生。如何将此整数转换为浮点数?

let add x y =
    x + y

let j = 2
add 1.1 j

在 C# 中浮点 + int= 浮点

float j = 1.1f + 5;
4

5 回答 5

37

编辑:误读了问题...

我很确定该float()功能可以完成这项工作:

add 1.1 (float 2)
于 2013-08-19T17:22:20.347 回答
12

首先,您指定的函数具有类型int->int->int,这意味着它需要 2int秒并返回一个int. 如果您希望它使用floats 您需要指定参数之一的类型:

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

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

float 2 //2 : float

如果您在示例中使用数字文字,则可以使用2.0而不是2which 具有float类型。

add 1.1 2.0
于 2013-08-19T17:31:58.090 回答
6

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

let add x y = x + (float y)
于 2013-08-19T17:24:04.167 回答
3

因为float是功能,所以有一定的优雅

add 1.1 (j |> float)

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

于 2013-10-18T00:05:44.450 回答
0

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

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

让 b : byte = byte x (将 b 转换为一个字节)

看看这个链接:

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

于 2013-08-19T17:19:54.260 回答