Ответ 1
EDIT: неверный вопрос...
Я уверен, что функция float()
выполнит задание:
add 1.1 (float 2)
Изучение F #, синтаксис по-прежнему мне незначителен. Как заставить это целое число плавать?
let add x y =
x + y
let j = 2
add 1.1 j
В С# Float + int = Float
float j = 1.1f + 5;
EDIT: неверный вопрос...
Я уверен, что функция float()
выполнит задание:
add 1.1 (float 2)
Во-первых, указанная вами функция имеет тип int->int->int
, что означает, что она принимает 2 int
и возвращает int
. Если вы хотите использовать float
, вам нужно указать тип одного из аргументов:
let add (x : float) y = x + y
//add : float->float->float
Как уже упоминалось, вы можете использовать float
с помощью функции float()
:
float 2 //2 : float
Если вы используете числовые литералы, например, в вашем примере, вы можете просто использовать 2.0
вместо 2
, который имеет тип float
.
add 1.1 2.0
Вы можете преобразовать в float с помощью функции float
:
let add x y = x + (float y)
Вот несколько примеров, показывающих синтаксис для кастинга:
пусть x: int = 5 (листинг x является целым числом)
пусть b: byte = byte x (листинг b является байтом)
Проверьте эту ссылку:
Поскольку float
является функцией, существует некоторая элегантность для
add 1.1 (j |> float)
На первый взгляд, это не намного лучше, чем add 1.1 (float 2)
, но если вы хотите преобразовать результат длинного вычисления в float, прямой канал может быть очень полезным.