Нет экземпляра (с плавающей запятой) в div

#haskell #types

#haskell #типы

Вопрос:

Я хотел преобразовать Int в float для деления, которое должно привести к float . Для этого я хотел сделать следующее: (intToFloat w) 'div' 2.0 где

 intToFloat :: Int -> Float
intToFloat x = fromIntegral x:: Float
  

Но это выдаст мне ошибку No instance for (Integral Float) arising from a use of ‘div’ . Есть ли способ, которым я могу это решить?

Комментарии:

1. Обычно вы используете div для целых типов и / (косая черта) для типов с плавающей запятой.

Ответ №1:

Запись intToFloat w / 2.0

div является целочисленным делением.

(/) является реальным разделением.