web-dev-qa-db-ja.com

F#で浮動小数点にキャストする

F#を習得しているので、構文はまだ私にはまったく異質です。この整数を浮動小数点にキャストするにはどうすればよいですか?

let add x y =
    x + y

let j = 2
add 1.1 j

C#ではFloat + int = Float

float j = 1.1f + 5;
23
NitroxDM

編集:誤解した質問...

float()関数がうまくいくと確信しています:

add 1.1 (float 2)
28
feralin

まず、指定した関数の型は_int->int->int_です。つまり、2 intsを取り、intを返します。 floatsを使用する場合は、引数の1つのタイプを指定する必要があります。

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

他の人が述べたように、float()関数を使用してfloatにキャストできます:

_float 2 //2 : float
_

例のように数値リテラルを使用している場合は、floatタイプの_2.0_の代わりに_2_を使用できます。

_add 1.1 2.0
_
10
Wesley Wiser

float関数を使用して、floatに変換できます。

let add x y = x + (float y)
5
Lee

floatは関数であるため、特定の優雅さがあります。

_add 1.1 (j |> float)
_

一見すると、それはadd 1.1 (float 2)ほどよくありませんが、長い計算の結果を浮動小数点数に変換する場合は、フォワードパイプが非常に役立ちます。

2
Rob Lyndon

キャストの構文を示すいくつかの例を次に示します。

let x:int = 5(xを整数にキャスト)

let b:バイト=バイトx(bをバイトにキャスト)

このリンクをチェックしてください:

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

1
Joohwan