In primo luogo, le funzioni su di te specificato ha tipo int->int->int
che significa che prende 2 int
s e restituisce un int
. Se si desidera utilizzare float
s è necessario specificare il tipo di uno degli argomenti:
let add (x : float) y = x + y
//add : float->float->float
Come altri hanno detto, si può lanciare ad un float
utilizzando la funzione float()
:
float 2 //2 : float
Se utilizzi valori letterali numerici come nell'esempio, puoi semplicemente utilizzare 2.0
anziché 2
con il tipo float
.
add 1.1 2.0
fonte
2013-08-19 17:31:58
In C#, l'aggiunta di un 'float' a un' double' restituisce un 'double'. Il tuo codice sta aggiungendo un 'float' e un' int'. – Lee
Mentre sembra ovvio avere un cast automatico e silenzioso dei valori in una lingua, preferisco il modo F # di fare le cose. Evita gli errori derivanti dalla trasmissione automatica dei tipi. –
@lee - È divertente. Intendevo non mettere il doppio. : S riparato il Q – NitroxDM