Foros del Web » Programando para Internet » PHP »

El numero dividido no se muestra correctamente

Estas en el tema de El numero dividido no se muestra correctamente en el foro de PHP en Foros del Web. Saludos a todos los programadores de forosdelweb y gracias por ayudarme con este misterio. Tengo el siguiente codigo: Código PHP: <?php $numero  =  3.94 ; ...
  #1 (permalink)  
Antiguo 28/08/2010, 08:23
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 11 meses
Puntos: 2
El numero dividido no se muestra correctamente

Saludos a todos los programadores de forosdelweb y gracias por ayudarme con este misterio.

Tengo el siguiente codigo:

Código PHP:
<?php
$numero 
3.94;
$total $numero 100;

echo 
$total;
?>
Y me da como resultado 0.03

Luego tengo el mismo codigo pero le pongo 0.56 a $numero y el resultado es: 0

lo que quiero es que sigan 3 decimales despues del . , así que hice un number format:

Código PHP:
<?php
$numero    
0.56;
$total    number_format($numero /1003);

echo 
$total;
?>
y este ahora me da como resultado: 0.000, mientras que deberia darme.. 0.005

Y de la misma manera si pongo a $numero 3.94, el resultado es 0.030, porque me sucede esto? deberia ser 0.039

Por favor ayudenme con este enigma porque no logro entender que puedo hacer para que funcione correctamente o que es lo que estoy haciendo mal.

Muchas gracias :)
__________________
<?PHP if( nuevo() ) {
echo 'Bienvenid@ a ForosDelWeb, seguro que tus dudas seran bien respondidas y que tu ayuda sera bien agradecida.';
} ?>
  #2 (permalink)  
Antiguo 28/08/2010, 08:38
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 11 meses
Puntos: 2
Respuesta: El numero dividido no se muestra correctamente

Ya he descubierto mi problema, es que el numero que me regresa via XML (el 0.56 o 3.94) son String, entonces por eso no divide bien, cuando agrego los numeros yo mismo, si funciona, entonces como puedo cambiar de ese tipo de numero a un Number o Double?

Gracias
__________________
<?PHP if( nuevo() ) {
echo 'Bienvenid@ a ForosDelWeb, seguro que tus dudas seran bien respondidas y que tu ayuda sera bien agradecida.';
} ?>
  #3 (permalink)  
Antiguo 28/08/2010, 08:40
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: El numero dividido no se muestra correctamente

puede ser que tengas configurada la directiva precision en 2 en el php.ini, acabo de revisar en el mio y veo que es de 14

EDITO: acabo de ver tu post, entonces puedes usar floatval, pero como tienes coma en vez de punto usa str_replace
  #4 (permalink)  
Antiguo 28/08/2010, 08:41
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 11 meses
Puntos: 2
Respuesta: El numero dividido no se muestra correctamente

No el problema es que me regresa un String parece, es que estos valores son regresados a partir de XML. Tambien me dice 14 en precision en mi php info
__________________
<?PHP if( nuevo() ) {
echo 'Bienvenid@ a ForosDelWeb, seguro que tus dudas seran bien respondidas y que tu ayuda sera bien agradecida.';
} ?>
  #5 (permalink)  
Antiguo 28/08/2010, 08:45
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 11 meses
Puntos: 2
Respuesta: El numero dividido no se muestra correctamente

Ya lo logré, una vez que noté (tengo 1 día completo con este problema xD) que era un string ya logre repararlo, para los que tengan este mismo problema solo tienen que hacer un explode del . (punto) o la , (coma) dependiendo de que ponen en el valor y luego convertir cada uno a int y listo :)

Gracias de todas formas por la ayuda :)
__________________
<?PHP if( nuevo() ) {
echo 'Bienvenid@ a ForosDelWeb, seguro que tus dudas seran bien respondidas y que tu ayuda sera bien agradecida.';
} ?>
  #6 (permalink)  
Antiguo 28/08/2010, 08:47
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: El numero dividido no se muestra correctamente

el problema es que el valor de XML te lo regresa con coma, tienes que reemplazarlo primero por el punto

Código PHP:
Ver original
  1. $valor= str_replace(",",".",$valor);
  #7 (permalink)  
Antiguo 28/08/2010, 08:48
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 11 meses
Puntos: 2
Respuesta: El numero dividido no se muestra correctamente

@maycolalvarez En realidad ya me regresaba el punto :)

acabo de ver tu post anterior, gracias por la información es cierto, esto tambien hubiera servido! :D
__________________
<?PHP if( nuevo() ) {
echo 'Bienvenid@ a ForosDelWeb, seguro que tus dudas seran bien respondidas y que tu ayuda sera bien agradecida.';
} ?>

Etiquetas: décimales, division, number, number_format, numeros
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 19:23.