Foros del Web » Programando para Internet » PHP »

Evitar redondeo en una operacion

Estas en el tema de Evitar redondeo en una operacion en el foro de PHP en Foros del Web. Buenas a todos, mi problema es el siguiente: Tengo esta instrucción: <?php echo number_format( ($_SESSION['subtotal']+$_SESSION['precio_iva']+$_SESSION['portes']+$_SESSION['precio_reembolso']),2,',','.' ) ." &euro; "; ?> Los valores de cada variable ...
  #1 (permalink)  
Antiguo 21/07/2008, 02:01
Avatar de mgomezbuceta  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago de Compostela
Mensajes: 47
Antigüedad: 15 años, 11 meses
Puntos: 0
Exclamación Evitar redondeo en una operacion

Buenas a todos, mi problema es el siguiente:

Tengo esta instrucción:

<?php
echo number_format(($_SESSION['subtotal']+$_SESSION['precio_iva']+$_SESSION['portes']+$_SESSION['precio_reembolso']),2,',','.')." &euro;";
?>

Los valores de cada variable de sesión son los siguientes:

$_SESSION['subtotal']=290,00
$_SESSION['precio_iva']=46,40
$_SESSION['portes']=10,34
$_SESSION['precio_reembolso']=10,39

Y mi problema está en que el resultado en vez de mostrar "357,13" me muestra "356,00"

El problema creo que está en que no me suma los decimales de las cantidades pero no se como resolverlo.

Muchas gracias.
  #2 (permalink)  
Antiguo 21/07/2008, 02:08
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 5 meses
Puntos: 48
Respuesta: Evitar redondeo en una operacion

¿Te sale la coma como separador decimal al hacer un echo de $_SESSION['subtotal'] o algun otro operador? Si es asi, ese es el problema. En PHP el separador decimal es un punto. Si esos operadores tienen comas, los toma como cadenas de caracteres, y al convertir esa cadena de caracteres solo coge los numeros hasta la coma.

Asi que ya sabes, todas las operaciones internas con PHP el punto es el separador de decimales.
  #3 (permalink)  
Antiguo 21/07/2008, 03:42
Avatar de mgomezbuceta  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago de Compostela
Mensajes: 47
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Evitar redondeo en una operacion

Muchas gracias.

Ya está resuelto.
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 14:48.