me hace la división de float mal

Iniciado por OssoH, 14 Noviembre 2017, 17:35 PM

0 Miembros y 1 Visitante están viendo este tema.

OssoH

tengo una pregunta porque cuando hago

echo (37.8 / 1.08);
RESULTADO = 35

echo (int)(37.8 / 1.08);
RESULTADO = 34

¿porque al hacer el (int) de 35 me devuelve un 34 ?

¿Cual es la forma correcta de hacer la división de dos float y me devuelva un entero?
Gracias

engel lex

Probablemente es un asunto de ajuste de punto flotante
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

OssoH

al final he decidido hacer
(int)round(37.8 / 1.08)

Aunque no llego a entender porque no funciona lo otro. Pero bueno..ya esta solucionado

engel lex

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.