Lernen F #, die Syntax ist mir noch ziemlich fremd. Wie kann ich diese Ganzzahl in Float umwandeln?Cast int zum Floaten in F #
let add x y =
x + y
let j = 2
add 1.1 j
In C# Float + int = Float
float j = 1.1f + 5;
Lernen F #, die Syntax ist mir noch ziemlich fremd. Wie kann ich diese Ganzzahl in Float umwandeln?Cast int zum Floaten in F #
let add x y =
x + y
let j = 2
add 1.1 j
In C# Float + int = Float
float j = 1.1f + 5;
EDIT: misread Frage ...
Ich bin mir ziemlich sicher, dass die die float()
Funktion die Arbeit machen würde:
add 1.1 (float 2)
Hier sind einige Beispiele, die die Syntax zum Gießen zeigt:
let x: int = 5 (CAST x eine ganze Zahl zu sein)
let b: Byte = Byte x
Schauen Sie sich diesen Link (cast b ein Byte zu sein):
Ich bin mir ziemlich sicher, dass es eine Möglichkeit gibt, einen Inline-Cast durchzuführen ... – feralin
Das erste Beispiel ist nicht wirklich ein Cast. Es wäre sowieso ein int. –
Sie können mit einem Schwimmer konvertieren die Verwendung von float
Funktion:
let add x y = x + (float y)
Zuerst die Funktionen auf Sie angegebene hat Typ int->int->int
was bedeutet, dass es dauert 2 int
s und gibt eine int
zurück. Wenn Sie es float
s verwenden möchten, müssen Sie die Art eines der Argumente spezifizieren:
let add (x : float) y = x + y
//add : float->float->float
Wie andere erwähnt haben, können Sie auf einen float
werfen mit der float()
Funktion:
float 2 //2 : float
Wenn Sie numerische Literale wie in Ihrem Beispiel verwenden, können Sie einfach 2.0
anstelle von 2
verwenden, das den Typ float
hat.
add 1.1 2.0
Passing es zwei schwimmt funktioniert gut. Add 1.1 2.0 funktioniert ohne Problem. – NitroxDM
Da float
eine Funktion ist, gibt es eine gewisse Eleganz
add 1.1 (j |> float)
Auf dem Gesicht von ihm, das ist nicht viel besser als add 1.1 (float 2)
, aber wenn Sie das Ergebnis eines langen konvertieren Berechnung zu einem Schwimmer, kann das Vorwärtsrohr sehr nützlich sein.
In C# gibt ein 'float' zu einem' double' einen 'double' zurück. Dein Code fügt ein 'float' und ein' int' hinzu. – Lee
Während es offensichtlich ist, automatische, stille Werte in einer Sprache zu haben, bevorzuge ich die F # -Methode. Vermeidet Fehler durch automatisches Gießen von Typen. –
@lee - Das ist lustig. Ich wollte nicht gleich doppelt schreiben. : S hat den Q repariert. – NitroxDM