J'ai besoin d'une fonction qui obtient deux Int
s (a
et b
) et renvoie A/B
comme Int
. Je suis sûr que A/B
sera toujours un nombre entier.Diviser Int en int et retourner int
Voici ma solution:
myDiv :: Int -> Int -> Int
myDiv a b =
let x = fromIntegral a
y = fromIntegral b
in truncate (x/y)
Mais vous voulez trouver une solution plus simple. Quelque chose comme ceci:
myDiv :: Int -> Int -> Int
myDiv a b = a/b
Comment puis-je diviser Int en Int et obtenir Int?
Ou 'a \' quot \ 'b' pour les amateurs de infix (wow, vous pouvez réellement échapper insice contre-apostrophes avec des accents graves backslash?). – delnan
Aussi 'a \' div \ 'b'; si je me souviens bien, 'quot' tronque (comme demas voulu), et' div' tourne vers zéro. Donc '(-3) \' quot \ '4 == 0', et' (-3) \ 'div \' 4 == -1'. –
+1 pour 'div'. Plus mathématiquement sage, 'quot' est une chienne quand il y a des nombres négatifs autour. – luqui