Foros del Web » Programando para Internet » PHP »

problema con decimales (ya he mirado todo lo escrito)

Estas en el tema de problema con decimales (ya he mirado todo lo escrito) en el foro de PHP en Foros del Web. Hola, en primer lugar decir que ya lo he leido todo y no encuentro solución a esto. Tengo que redondear números hasta conseguir dos decimales, ...
  #1 (permalink)  
Antiguo 11/01/2007, 05:38
 
Fecha de Ingreso: enero-2005
Mensajes: 63
Antigüedad: 19 años, 3 meses
Puntos: 1
problema con decimales (ya he mirado todo lo escrito)

Hola, en primer lugar decir que ya lo he leido todo y no encuentro solución a esto. Tengo que redondear números hasta conseguir dos decimales, y además darles formato, para ello uso esta función:
echo number_format(1049.9940,2,",",".");
y consigo el número 1.049,99 pero lo que yo quiero es que me lo redondee hasta el 1.050,00. Round() no me sirve, ni ceil(), porque estas funciones me redondean al numero entero superior desde que los decimales son 0,5, y eso me parece exagerado porque 4,5 no es lo mismo que 5, y 4,4 no es igual que 4, digo yo. Así que no se si no hay solución a este problema en php, excell lo hace correctamente pero no entiendo por qué las funciones de redondeo de php no.
Gracias por vuestra ayuda.
  #2 (permalink)  
Antiguo 11/01/2007, 06:05
 
Fecha de Ingreso: septiembre-2005
Mensajes: 68
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: problema con decimales (ya he mirado todo lo escrito)

creo que estas confundido..

Mira

lo que quieres lograr aqui:

Cita:
y consigo el número 1.049,99 pero lo que yo quiero es que me lo redondee hasta el 1.050,00
es lo mismo que estas diciendo que no te sirve aca:

Cita:
los decimales son 0,5, y eso me parece exagerado porque 4,5 no es lo mismo que 5, y 4,4 no es igual que 4,
Si solo quieres "redondear" numeros superiores a uno que tu definas, podrias crear una simple funcion :P
  #3 (permalink)  
Antiguo 11/01/2007, 06:19
Avatar de holahola  
Fecha de Ingreso: mayo-2005
Ubicación: Móstoles - (Madrid)
Mensajes: 214
Antigüedad: 19 años
Puntos: 1
Re: problema con decimales (ya he mirado todo lo escrito)

Yo opino que es bastante justo un redondeo así:

0,550 -> 0,55
0,551 -> 0,55
0,552 -> 0,55
0,553 -> 0,55
0,554 -> 0,55
0,555 -> 0,56
0,556 -> 0,56
0,557 -> 0,56
0,558 -> 0,56
0,559 -> 0,56

La mitad redondean abajo y la otra mitad arriba. Y eso lo puedes conseguir con round() + number_format().

En tu caso, si tambien quieres redondear a 2 decimales, es correcto que 1049.9940 lo deje en 1049.99

http://es.wikipedia.org/wiki/Redondeo

Un saludo.

Última edición por holahola; 11/01/2007 a las 06:46 Razón: En tu caso...
  #4 (permalink)  
Antiguo 12/01/2007, 06:45
 
Fecha de Ingreso: enero-2005
Mensajes: 63
Antigüedad: 19 años, 3 meses
Puntos: 1
Re: problema con decimales (ya he mirado todo lo escrito)

Gracias por vuestras respuestas, pero ya me he dado cuenta que php solo hace lo que le dicen las matematicas si quiero que se redondee a dos decimales los resultados que me salen son correctos. Creo que deberia hacer una función como me decís...en cuanto la haya hecho la comparto por si a alguien le sirve...muchas gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:43.