Foros del Web » Programando para Internet » PHP »

decimales

Estas en el tema de decimales en el foro de PHP en Foros del Web. Realizo unos cálculos con campos que recupero de una base de datos y quiero que me dé el resultado con dos decimales y no sé ...
  #1 (permalink)  
Antiguo 04/10/2005, 03:02
 
Fecha de Ingreso: junio-2004
Mensajes: 53
Antigüedad: 19 años, 10 meses
Puntos: 3
decimales

Realizo unos cálculos con campos que recupero de una base de datos y quiero que me dé el resultado con dos decimales y no sé como hacerlo, me devuelve un número entero ignorando los decimales.

Ejemplo:

<?php
echo $row_Reg['precio_tienda']*($row_Reg['base']+$row_Reg['base_mas'])-(($row_Reg['base'])*($row_Reg['precio_tienda'])).' €';
?>

Gracias
  #2 (permalink)  
Antiguo 04/10/2005, 03:08
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
Me parece que te puede ayudar la funcion sprintf(). Ejemplo del manual:
Código PHP:
<?php
$dinero1 
68.75;
$dinero2 54.35;
$dinero $dinero1 $dinero2;
// echo $dinero imprimiria "123.1";
$con_formato sprintf("%01.2f"$dinero);
// echo $con_formato imprime "123.10"
?>
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #3 (permalink)  
Antiguo 04/10/2005, 03:13
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Prueba con number_format() --> si no mal recuerdo se encuentra en las FAQ...

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 04/10/2005, 03:38
 
Fecha de Ingreso: junio-2004
Mensajes: 53
Antigüedad: 19 años, 10 meses
Puntos: 3
sobre los decimales

Gracias.
Solucionado.
  #5 (permalink)  
Antiguo 04/10/2005, 05:36
 
Fecha de Ingreso: junio-2004
Mensajes: 53
Antigüedad: 19 años, 10 meses
Puntos: 3
más sobre decimales

Realizando la operación esta:

$trans=($row_Reg['precio_tienda'] * $row_Reg['porcentaje'])/100;
echo sprintf("%01.2f",$trans).' €';

el problema es que siempre me da un número con dos ceros después del decimal. Es decir que es como si no tuviera en cuenta los decimales a la hora de hacer el cálculo si sustiyo las variables de arriba por los valores es así:
(1,70 * 10)/100
debería dar: 0,17

pero a mi me dá 0,10

Gracias
  #6 (permalink)  
Antiguo 05/10/2005, 02:04
 
Fecha de Ingreso: junio-2004
Mensajes: 53
Antigüedad: 19 años, 10 meses
Puntos: 3
solución a decimales

Ya he encontrado el problema (y la solución): es que debo almacenar los datos, en la base de datos, utilizando el punto (.) como separador de decimales y la coma (,) como separador de miles ( o sea el formato inglés).

Luego aplico el number_format para que me lo muestre por pantalla con la (,) como separador de decimales y el (.) punto como separador de miles.

Tema cerrado
Un saludo
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 06:56.