Foros del Web » Programando para Internet » PHP »

Forzar a php a calcular con 2 decimales

Estas en el tema de Forzar a php a calcular con 2 decimales en el foro de PHP en Foros del Web. Muy buenas a todos! Llevo horas buscando la solución y no encuentro respuesta, igual es muy sencillo y soy mu tonto! ... os cuento por ...
  #1 (permalink)  
Antiguo 24/03/2011, 13:41
 
Fecha de Ingreso: julio-2008
Mensajes: 30
Antigüedad: 15 años, 9 meses
Puntos: 0
Forzar a php a calcular con 2 decimales

Muy buenas a todos!

Llevo horas buscando la solución y no encuentro respuesta, igual es muy sencillo y soy mu tonto! ... os cuento por si alguno ya se ha encontrado en la misma situación.

Vereis, tengo una aplicación que realiza cálculos intensivos de precios y unidades (flotantes en principio con 2 decimales los precios y 3 las unidades). El caso es que por especificaciones del desarrollo me veo obligado a arrastrar solamente 2 decimales, es decir en cada calculo debo redondear a 2 decimales perdiendo precisión, no me preguntéis la razón... yo tampoco la sé, el cliente quiere ese tipo de calculo.

Que ocurre?, que la única forma que he visto de hacerlo es en cada multiplicación o división hacer un ROUND( cantidad , 2) para asegurarme que no estoy arrastrando mas de 2 decimales, ya que por ej. la opción de precision en el php.ini es únicamente visual, realmente en los cálculos sigue arrastrando decimales, cierto?, por lo que he visto es así.

No hay ninguna forma de decirle a php que en sus cálculos en flotante solo use 2 decimales?... si no me tocaría repasar 6 meses de desarrollo

Muchas gracias a todos!
  #2 (permalink)  
Antiguo 24/03/2011, 13:45
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Forzar a php a calcular con 2 decimales

Saludos

Prueba de la siguiente manera:

Código PHP:
Ver original
  1. round($cantidad * 100) / 100;
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 25/03/2011, 02:10
 
Fecha de Ingreso: julio-2008
Mensajes: 30
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Forzar a php a calcular con 2 decimales

Gracias Nano, pero no me refería a eso, lo que realmente necesito es tener no que repasar las operaciones de todo el desarrollo, por eso comentaba lo de "precision" en el php.ini , si no con ROUND() lo tendría resuelto, gracias! ;)

Nadie conoce alguna solución "estandar" para obligar a php a trabajar con 2 decimales sin necesidad de utilizar operaciones "añadidas"??, muchas gracias!!
  #4 (permalink)  
Antiguo 25/03/2011, 03:39
 
Fecha de Ingreso: octubre-2005
Mensajes: 240
Antigüedad: 18 años, 6 meses
Puntos: 1
Respuesta: Forzar a php a calcular con 2 decimales

Hola,

Yo también he tenido el problema que me comentas. He dejado que PHP haga sus cálculos internos a su bola y simplemente lo que he hecho es que a la hora de mostrar algún número flotante por pantalla he usado la funcion number_format.

Te dejo el link de la documentacion:

http://es2.php.net/manual/es/function.number-format.php

Un saludo!
  #5 (permalink)  
Antiguo 25/03/2011, 03:51
 
Fecha de Ingreso: julio-2008
Mensajes: 30
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Forzar a php a calcular con 2 decimales

Si si, Gracias urameshix, si eso ya lo tenía claro, el problema es que si por pantalla muestras unos cálculos redondeados y luego internamente no redondeas, el total redondeado NUNCA coincidirá con lo que muestras... no se si me explico...

Etiquetas: décimales, precision
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 19:41.