Foros del Web » Programando para Internet » PHP »

problema para mantener los decimales

Estas en el tema de problema para mantener los decimales en el foro de PHP en Foros del Web. hola mi problema es el siguiente. - tengo un archivo Precios.php en el cual defino variables como: Código PHP: <?  $prod_1  =  number_format ( 7.5 ,  ...
  #1 (permalink)  
Antiguo 24/08/2007, 11:54
Avatar de damian0021  
Fecha de Ingreso: noviembre-2006
Mensajes: 101
Antigüedad: 18 años
Puntos: 0
problema para mantener los decimales

hola mi problema es el siguiente.

- tengo un archivo Precios.php en el cual defino variables como:

Código PHP:
<?  $prod_1 number_format(7.52,',','.'); ?>
- tengo el archivo prod_1.php donde muestro el producto y incluyo el valor del precio mostrandolo en un formulario, donde el usuario puede elegir la cantidad y comprar el producto.

Código PHP:
<?  include ("precios.php");   ?>

<? echo '<input name="precio" type="hidden" value='.$prod_1.'>' ?>
- al darle a "comprar" mete el producto al carrito con su respectivo precio y llama a este archivo: mete_prod.php

Código PHP:
<? 
include("lib_carrito.php"); 
$_SESSION["ocarrito"]->introduce_producto($HTTP_POST_VARS["id"], $HTTP_POST_VARS["nombre"], $HTTP_POST_VARS["precio"], $HTTP_POST_VARS["cantidad"]);
?>
Este último archivo mete el producto en el carrito que esta definido en la libreria "lib_carrito.php".

Todo esto que describi anteriormente anda perfecto. El unico problema que tengo es que si el precio es 7,50 cuando lo meto al carrito me queda como 7,
como hago para pasar el los 50 centavos???
  #2 (permalink)  
Antiguo 24/08/2007, 12:09
Avatar de k4k4  
Fecha de Ingreso: junio-2007
Ubicación: Baja California, México
Mensajes: 120
Antigüedad: 17 años, 5 meses
Puntos: 6
Re: problema para mantener los decimales

Hola,

ya probaste con: floatval($HTTP_POST_VARS["precio"]) ?

(paréntesis: qué no se supone que HTTP_POST_VARS esta deprecado?? xD)


Saludos.
  #3 (permalink)  
Antiguo 24/08/2007, 15:14
Avatar de damian0021  
Fecha de Ingreso: noviembre-2006
Mensajes: 101
Antigüedad: 18 años
Puntos: 0
Re: problema para mantener los decimales

gracias por la respuesta, despues lo voy a probar cuando llegue a casa...

una curiosidad que significa "deprecado" ???
  #4 (permalink)  
Antiguo 24/08/2007, 15:26
Avatar de k4k4  
Fecha de Ingreso: junio-2007
Ubicación: Baja California, México
Mensajes: 120
Antigüedad: 17 años, 5 meses
Puntos: 6
Re: problema para mantener los decimales

significa qué en lugar de usar $HTTP_POST_VARS deberías usar $_POST, porqué el anterior es obsoleto según http://php.net El tema es algo complicado porque se mete la cuestión de register_globals. En conclusión, si usas una version de php menor a 4.1.0 usa $HTTP_POST_VARS, de otro modo, usa $_POST.

Saludos. xD
  #5 (permalink)  
Antiguo 24/08/2007, 19:58
Avatar de damian0021  
Fecha de Ingreso: noviembre-2006
Mensajes: 101
Antigüedad: 18 años
Puntos: 0
Re: problema para mantener los decimales

hola K4k4 mil gracias por tus respuestas. Prove de usar $_POST y anda igual.

Con respecto a floatval($HTTP_POST_VARS["precio"]) lo use pero no hiso ninguna diferencia.

Tendre que indicarle de alguna forma en la libreria lib_carrito.php que el numero que voy a meter en el array del precio viene con decimales?

por el momento lo estoy definiendo asi:

Código PHP:
       var $num_productos;
       var 
$array_id_prod;
       var 
$array_nombre_prod;
       var 
$array_precio_prod;
       var 
$array_cantidad_prod
y uso esta funcion para introducir los productos en el array:

Código PHP:
function introduce_producto($id_prod,$nombre_prod,$precio_prod,$cantidad_prod){
        
$this->array_id_prod[$this->num_productos]=$id_prod;
        
$this->array_nombre_prod[$this->num_productos]=$nombre_prod;
        
$this->array_precio_prod[$this->num_productos]=$precio_prod;
         
$this->array_cantidad_prod[$this->num_productos]=$cantidad_prod;
        
$this->num_productos++;

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 21:58.