Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] como cambio punto por coma en decimales con PHP?

Estas en el tema de [SOLUCIONADO] como cambio punto por coma en decimales con PHP? en el foro de PHP en Foros del Web. hola gente tengo un script en php que toma una base de datos de un carrito y la exporta a excel, pues bien, intenté en ...
  #1 (permalink)  
Antiguo 03/08/2010, 12:23
Avatar de estudioplateado  
Fecha de Ingreso: diciembre-2009
Mensajes: 71
Antigüedad: 14 años, 5 meses
Puntos: 2
Pregunta [SOLUCIONADO] como cambio punto por coma en decimales con PHP?

hola gente

tengo un script en php que toma una base de datos de un carrito y la exporta a excel,

pues bien, intenté en el select mediante REPLACE me cambie el punto del decimal por la coma, cuestión de que cuando el cliente descargue el excel vea los precios con decimales separador por punto y coma, pero no me funciona , evidentemente -soy nuevo en php y mysql- algo estoy escribiendo mal,

les paso el codigo

Código PHP:
header('Content-type: application/vnd.ms-excel');
header("Content-Disposition: attachment; filename=lista_de_precios.xls");
header("Pragma: no-cache");
header("Expires: 0");

mysql_connect("localhost""xxxxx""xxxxxx");
mysql_select_db("xxxxxx");
$sql="select codigo, descripcion, REPLACE(CAST(precio_lista AS CHAR),'.',',') precio_lista, categoria from productos2 order by categoria, descripcion asc";
$res=mysql_query($sql);
mysql_close();
$color=orange;

echo 
"<table border=1>";
echo 
"<tr><td colspan=4 align='center'><font color='green'><h1><u>xxxxxxx</u><h1></font><br />
      <h4>xxxxxxxxx</h4>
      <h4>www.xxxxxx.com.ar</h4></td></tr>"
;
echo 
"<tr><td colspan=4 align='center'><h3>LISTA DE PRECIOS MAYORISTAS</h3></td></tr>";
echo 
"<tr><td colspan=4 align='center'>No incluye descuentos ni bonificaciones</td></tr>";
echo 
"<tr><td bgcolor=$color align='center'>codigo</td>
      <td bgcolor=$color colspan=2>descripcion</td>
      <td bgcolor=$color align='center'>precio</td>
</tr>"
;
$categoria="juan_perez";
while(
$f=mysql_fetch_array($res)){
  if(
trim($f[3]) == $categoria){
        
$f[1]=utf8_decode($f[1]);
        
$f[2]=number_format($f[2],2);
    echo 
"<tr><td width='90' align='center'>$f[0]</td><td width='400'>$f[1]</td><td align=center width='15'>$</td><td align='center' width='80'>$f[2]</td>";
  }else{
        
$f[3]=utf8_decode($f[3]);
        
$f[1]=utf8_decode($f[1]);
        
$f[2]=number_format($f[2],2);
        echo 
"<tr><td colspan='4' align='center'><font color='orange'><strong><h3>$f[3]</h3></strong></font></td></tr>";
        echo 
"<tr><td width='90' align='center'>$f[0]</td><td width='400'>$f[1]</td><td align=center width='15'>$</td><td align='center' width='80'>$f[2]</td>";
        
$categoria=trim(utf8_encode($f[3]));
  }
}

echo 
"<tr><td colspan=4><b>IMPORTANTE: despachos al interior en 24 hs.<br/> Precios sujetos a modificacion sin previo aviso.</td>";
/*
echo "<tr>\n";
echo "<th>Nombre</th>\n";
echo "<th>Email</th>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td><font color=green>Manuel Gomez</font></td>\n";
echo "<td>[email protected]</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td><font color=blue>Pago gomez</font></td>\n";
echo "<td>[email protected]</td>\n";
echo "</tr>\n";
*/
echo "</table>"
agradezco desde ya cualquier ayuda u orientación ,

saludos

Última edición por estudioplateado; 03/08/2010 a las 13:56
  #2 (permalink)  
Antiguo 03/08/2010, 12:36
 
Fecha de Ingreso: enero-2010
Mensajes: 113
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: como cambio punto por coma en decimales con PHP?

revisa esto:

http://php.net/manual/en/function.number-format.php

es la funcion number_format pienso que te ayudara mucho :)
  #3 (permalink)  
Antiguo 03/08/2010, 13:16
Avatar de estudioplateado  
Fecha de Ingreso: diciembre-2009
Mensajes: 71
Antigüedad: 14 años, 5 meses
Puntos: 2
De acuerdo Respuesta: como cambio punto por coma en decimales con PHP?

canino_latino:

funcionó !

tenías razón, habia que retocar los parametros pasados a la funcion number-format,

hice uso del manual de php (anteriormente me habia bajado el chm)

luego de varias pruebas parece que lo he logrado

gracias
  #4 (permalink)  
Antiguo 03/08/2010, 14:57
 
Fecha de Ingreso: enero-2010
Mensajes: 113
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: [SOLUCIONADO] como cambio punto por coma en decimales con PHP?

de nada :)

Etiquetas: mysql
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 16:58.