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