Si desea realizar la división fraccional, se puede convertir de cualquier tipo Integral
usando fromIntegral
, o fromInteger
para convertir solo de Integer
específicamente.
Hay algunas funciones similares para otras clases de tipo numérico: toRational
, fromRational
, realToFrac
, etc, y por supuesto que puede convertir los tipos de fracciones de nuevo a tipos integrales utilizando round
, floor
, ceiling
, o algo así.
Y, por último, en la remota posibilidad de que en realidad quería número entero división, en lugar de la división fraccional con redondeo después, están los div
y quot
funciones (dependiendo de lo que el comportamiento de truncamiento que desee).
Además, probablemente deba escribir su función como algo así como posToXY a b = round $ a/b
. La innecesaria do
y las líneas múltiples hacen que sea más difícil de leer.
Véase también http://stackoverflow.com/questions/1397210/haskell-converting-float-to-int –
Y también http: //stackoverflow.com/questions/3275193/whats-the-right-way-to-divide-two-int-values-to-obtain-a-float –