2013-11-17 5 views
0

Когда я использую пол в Haskell, то есть этаж 1.7, я предположил, что это даст мне 1, и это будет тип Int, но я продолжаю получать сообщение об ошибке, как будто это не так?Этаж в Haskell и Ints

+3

Какое сообщение об ошибке? – soon

+4

'floor 1.7' сам по себе не вызовет никаких ошибок. Вы должны показать образец кода, который является полным, чтобы воспроизвести ошибку. – sepp2k

+0

Отмечено как нечеткое, так как прошло четыре года без заполнения НП недостающими деталями. – SwiftsNamesake

ответ

4

отлично работает для меня:

ghci > floor 1.7 
1 
ghci > :t floor 
floor :: (Integral b, RealFrac a) => a -> b 

Вы можете заставить его быть Int типа, оговаривая тип:

ghci > floor 1.7 :: Int 
1 

Или, если вы хотите Integer то,

ghci > floor 1.7 :: Integer 
1 
+0

Я получаю: «Нет экземпляра для (Fractional Int), возникающего из литерала' 0.7 ». Возможное исправление: добавьте объявление экземпляра для (Fractional Int). – James

+2

@James Вы можете показать код, который вы пытаетесь? – Sibi

+0

Все, что я прошу for является возвращаемым типом пола 1.7? – James

Смежные вопросы