F# 将int转换为在F中浮动#

F# 将int转换为在F中浮动#,f#,F#,在学习F#时,语法对我来说还是相当陌生的。如何将此整数转换为浮点 let add x y = x + y let j = 2 add 1.1 j 在C中#Float+int=Float float j = 1.1f + 5; 下面是一些示例,展示了强制转换的语法: 设x:int=5(将x转换为整数) 设b:byte=byte x(将b转换为字节) 查看此链接: 编辑:误读问题 我非常确定float()函数将完成以下工作: add 1.1 (float 2) 您可以使用float功

在学习F#时,语法对我来说还是相当陌生的。如何将此整数转换为浮点

let add x y =
    x + y

let j = 2
add 1.1 j
在C中#Float+int=Float

float j = 1.1f + 5;

下面是一些示例,展示了强制转换的语法:

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

设b:byte=byte x(将b转换为字节)

查看此链接:


编辑:误读问题

我非常确定
float()
函数将完成以下工作:

add 1.1 (float 2)

您可以使用
float
功能转换为浮点:

let add x y = x + (float y)
float 2 //2 : float

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

let add (x : float) y = x + y
//add : float->float->float
正如其他人所提到的,您可以使用
float()
函数强制转换为
float

let add x y = x + (float y)
float 2 //2 : float
如果您使用的是与示例中类似的数字文本,则可以使用
2.0
而不是
2
,后者具有
float
类型

add 1.1 2.0

因为
float
是一个函数,所以它有一定的优雅性

add 1.1 (j |> float)

从表面上看,这并不比添加1.1(浮点2)好多少,但如果您想将长时间计算的结果转换为浮点,则向前管道可能非常有用。

将两个浮点传递给它很好。add 1.1 2.0没有问题,第一个例子并不是真正的演员阵容。在C#中,将
浮点
添加到
双精度
将返回
双精度
。您的代码正在添加一个
float
和一个
int
。避免因自动转换类型而产生的错误。@lee--这很有趣。我的意思是输入整数而不是双精度修正了Q。