Foros del Web » Programando para Internet » PHP »

Cambiar formato de número ¿?

Estas en el tema de Cambiar formato de número ¿? en el foro de PHP en Foros del Web. Estimados, Pasa lo siguiente... al rescatar un valor o indicador económico desde página de banco, este aparece con el siguiente formato: 24.725,6 El asunto es ...
  #1 (permalink)  
Antiguo 03/04/2012, 08:06
 
Fecha de Ingreso: mayo-2003
Mensajes: 174
Antigüedad: 20 años, 11 meses
Puntos: 0
Cambiar formato de número ¿?

Estimados,
Pasa lo siguiente... al rescatar un valor o indicador económico desde página de banco, este aparece con el siguiente formato:

24.725,6

El asunto es que necesito convertir este número a un número entero (24725) para realizar una serie de cálculos... ¿Alguien me puede dar una ayudita por favor?

El número es rescatado con siguiente script:

Código:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script src="http://www.bci.cl/common/include/valores.js"></script> 
	<script type="text/javascript"> 
           var uf = formatear_numero(arrValores[4].valor2);
    </script>
Y para ver el dato:

Código:
<script type="text/javascript">document.write(uf);</script>
Gracias amigos...
  #2 (permalink)  
Antiguo 03/04/2012, 08:10
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Cambiar formato de número ¿?

cambia el formato con number_format. Debes indicarle que no necesitas separadores para hacer las operaciones y si al final necesitas mostrar el resultado formateado vuelves a realizar la acción.

http://php.net/manual/es/function.number-format.php
__________________
Blog de humor http://elcuasatar.net63.net/
  #3 (permalink)  
Antiguo 03/04/2012, 11:01
 
Fecha de Ingreso: mayo-2003
Mensajes: 174
Antigüedad: 20 años, 11 meses
Puntos: 0
Respuesta: Cambiar formato de número ¿?

Hola, gracias por la respuesta pero no puedo utilizar el dato como quiero... necesito hacer unas operaciones matemáticas con el dato pero al parecer este tiene algún formato de texto (creo).
He tratado usando settype() pero anda... ¿que más puedo hacer?

Gracias.
  #4 (permalink)  
Antiguo 03/04/2012, 11:34
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Cambiar formato de número ¿?

Cita:
pero al parecer este tiene algún formato de texto (creo).
Pues con creer no es suficiente. Usa gettype para verificarlo.

Una vez que puedas verificar que formato es forzalo a cambiar con settype

Revisa que lo estes haciendo bien. En este articulo indican como usar settype.

http://www.desarrolloweb.com/articulos/1420.php

Despues de hacer el settype vuelve a mirar el gettyoe del dato para verificar que quedo bien hecho.

Por ultimo si sigues teniendo problemas muestranos el código que usas para saber si lo estas haciendo bien.

p.s. Si tienes dudas de como se usan las funciones usa el manual de PHP.
__________________
Blog de humor http://elcuasatar.net63.net/

Última edición por cuasatar; 03/04/2012 a las 11:51
  #5 (permalink)  
Antiguo 05/04/2012, 22:28
 
Fecha de Ingreso: mayo-2003
Mensajes: 174
Antigüedad: 20 años, 11 meses
Puntos: 0
Respuesta: Cambiar formato de número ¿?

La verdad es que sigo sin solucionar mi problema... en el primer post puse los códigos que estoy usando, pero acá va el código completo.

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script src="http://www.bci.cl/common/include/valores.js"></script> 
<script type="text/javascript">
	var uf = arrValores[4].valor2;
</script>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>RESCATAR UF</title>
</head>
<body>
<?
$UF="<script type=\"text/javascript\">document.write(uf);</script>";
$get=gettype($UF); //Da por resultado "string"
settype($UF, "integer");
echo "$get - $UF"; //Muestra en pantalla string - 0
?>
</body>
</html>
Entiendo que es un "string" por lo que indica gettype, pero no puedo transformarlo a entero
  #6 (permalink)  
Antiguo 06/04/2012, 07:30
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Cambiar formato de número ¿?

Bueno, primero que todo no se debe transformar el número a entero sino a doble, sino se perderan los datos de los decimales.

Segundo siempre se acostumbra trabajar con los tags
Código PHP:
<?php ?>
en lugar de su versión simplificada
Código PHP:
<? ?>
(es recomendable porque no todos los servidores entienden la versión simplificada).

Tercero hice este pequeño código y usando el número que colocas de ejemplo al comienzo hice diferentes pruebas.

Código PHP:
<?php
$var
="24.725,6";
//$var="24,725.6";
//$var="24725.6";
echo("La variable var vale ".$var." y su tipo es ".gettype($var)."<br />");
settype($var,"double");
echo(
"La variable var vale ahora ".$var." y su tipo es ".gettype($var));
?>
Y los resultados por pantalla dan lo siguiente:

Cita:
$var="24.725,6";
La variable var vale 24.725,6 y su tipo es string
La variable var vale ahora 24.725 y su tipo es double
$var="24,725.6";
La variable var vale 24,725.6 y su tipo es string
La variable var vale ahora 24 y su tipo es double
$var="24725.6";
La variable var vale 24725.6 y su tipo es string
La variable var vale ahora 24725.6 y su tipo es double
Con los resultados que acabas de ver en pantalla es claro que antes de manipular el número debes colocar la parte que separa los decimales de los enteros con punto y eliminar el separador de miles porque sino no sera posible manipular los números o te dara erroneo el valor como puedes ver. Una vez que ya hayas realizado todas las operaciones ahí si le das formato al número.

Espero sirva de ayuda para solucionar el problema.

p.s. Acabo de leer que necesitas los valores a entero y obviar la parte decimal, entonces si puedes usar integer en lugar de double.
__________________
Blog de humor http://elcuasatar.net63.net/
  #7 (permalink)  
Antiguo 06/04/2012, 13:32
 
Fecha de Ingreso: mayo-2003
Mensajes: 174
Antigüedad: 20 años, 11 meses
Puntos: 0
Respuesta: Cambiar formato de número ¿?

Estimado Cuasatar... está perfecto, lo solucioné gracias a tu ayuda, muchas gracias por tu ayuda
  #8 (permalink)  
Antiguo 07/04/2012, 05:59
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Cambiar formato de número ¿?

Jaja de nada. Puedes colocar 20 eurazos en mi cuenta en Suiza

Espero que este ejercicio te permita a futuro aprender a discernir de manera sencilla cualquier problema que se presente. Este mismo ejercicio lo tuve que hacer yo con la diferencia de que la entrega era contrareloj y los resultados serían vistos por algo mas de 20 millones de personas (jaja no estoy exagerando). Cuando se presente un ejercicio similar analizalo con ejemplos sencillos para tu poder sacar tus propias conclusiones. Es mejor atacarlos de lo más sencillo a lo más dificil.
__________________
Blog de humor http://elcuasatar.net63.net/

Etiquetas: formato
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 11:01.