F# 将int转换为在F中浮动#
在学习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功
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。