29

F# を学んでいて、その構文はまだ私にとってまったく馴染みのないものです。この整数を float にキャストするにはどうすればよいですか?

let add x y =
    x + y

let j = 2
add 1.1 j

C# では Float + int= Float

float j = 1.1f + 5;
4

5 に答える 5

37

編集:質問を読み間違えました...

私はfloat()関数が仕事をするだろうと確信しています:

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

最初に、指定した関数には typeがあります。これは、 int->int->int2 秒かかりint、 を返すことを意味しますint。sを使用する場合floatは、引数のいずれかのタイプを指定する必要があります。

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

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

float 2 //2 : float

例のように数値リテラルを使用している場合は、その型2.0の代わりに使用できます。2float

add 1.1 2.0
于 2013-08-19T17:31:58.090 に答える
6

float関数を使用して 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)が、長い計算の結果を float に変換したい場合は、 forward パイプが非常に便利です。

于 2013-10-18T00:05:44.450 に答える
0

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

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

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

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

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

于 2013-08-19T17:19:54.260 に答える