Foros del Web » Programando para Internet » PHP »

Porcentaje

Estas en el tema de Porcentaje en el foro de PHP en Foros del Web. Hola Calcular el 5% de 100 es bastante fácil Código PHP: function  porcentaje ( $cantidad , $porciento , $decimales ){ return  number_format ( $cantidad * ...
  #1 (permalink)  
Antiguo 31/03/2009, 20:00
(Desactivado)
 
Fecha de Ingreso: septiembre-2004
Mensajes: 360
Antigüedad: 19 años, 7 meses
Puntos: 1
Porcentaje

Hola

Calcular el 5% de 100 es bastante fácil
Código PHP:
function porcentaje($cantidad,$porciento,$decimales){
return 
number_format($cantidad*$porciento/100 ,$decimales);
}
$porciento porcentaje(1000,5,2);
echo 
"el 5 por ciento de 1000 es ".$porciento.", con dos decimales"
Pero si mi numero es por ejemplo:
'1,033.85'
y quiero calcular el 15%... cómo hago ?
Intenté todo pero el resultado NO es correcto.

Alguna ayuda por favor.
  #2 (permalink)  
Antiguo 31/03/2009, 20:08
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 11 meses
Puntos: 50
Respuesta: Porcentaje

pruebe con esto y nos comenta como le va

Código PHP:
$porciento porcentaje(1033.85,15,2); 
  #3 (permalink)  
Antiguo 31/03/2009, 21:02
(Desactivado)
 
Fecha de Ingreso: septiembre-2004
Mensajes: 360
Antigüedad: 19 años, 7 meses
Puntos: 1
Respuesta: Porcentaje

Gracias por responderme pero...
Si yo hago tal cual el resultado es correcto, es decir... 155.08
Pero si yo tomo el valor de una variable (necesito eso en mi script):

Código PHP:
$num='1,033.85';
$percent=15;
$porciento porcentaje($num,$percent,2);
echo 
$porciento
El resultado está mal... obtengo 0.15

qué hago ?
  #4 (permalink)  
Antiguo 31/03/2009, 21:16
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Porcentaje

Hola, Suyta.

El problema es ese separador de miles que tienes en la cadena 1,033.85

Debes eliminarlo para que puedas trabajar con el número correctamente.

Una forma sería usar:
Código php:
Ver original
  1. $num = str_replace(',', '', $num)
Tal vez no sea lo mejor, dependiendo de dónde sacas ese valor que contiene ese separador de miles.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 31/03/2009, 21:22
(Desactivado)
 
Fecha de Ingreso: septiembre-2004
Mensajes: 360
Antigüedad: 19 años, 7 meses
Puntos: 1
Respuesta: Porcentaje

Hola David realmente sos GRANDE

Muchísimas gracias !
  #6 (permalink)  
Antiguo 31/03/2009, 21:40
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Porcentaje

Pues yo mejor te recomiendo NO retornar el valor de la funcion usando number_format, para que puedas hacer operaciones con numeros correctamente, para ya luego darle 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 03:52.