Foros del Web » Programando para Internet » PHP »

Multiplicar Variables con Separador de miles

Estas en el tema de Multiplicar Variables con Separador de miles en el foro de PHP en Foros del Web. Hola buenas tardes a todos Tengo un pequeñp inconveniente multiplicando variables con separador de miles, por que si una variable ttiene el valor de 2,000.00 ...
  #1 (permalink)  
Antiguo 09/11/2009, 15:12
Avatar de ilydiego  
Fecha de Ingreso: febrero-2009
Ubicación: en mi Casa
Mensajes: 71
Antigüedad: 15 años, 2 meses
Puntos: 0
Pregunta Multiplicar Variables con Separador de miles

Hola buenas tardes a todos


Tengo un pequeñp inconveniente multiplicando variables con separador de miles, por que si una variable ttiene el valor de 2,000.00 php solo me toma el 2.

estube leyendo que la funcion number_format()

Código PHP:
// english notation without thousands seperator
$english_format_number number_format($number2'.''');
// 1234.57 
pero ps lo hise asi y la variable que tenia como 2,000.00 me arrojo esto 2.00

Alguien sabe como solucionarlo
  #2 (permalink)  
Antiguo 09/11/2009, 15:16
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Multiplicar Variables con Separador de miles

a porq es asi:

number_format($number,decimales,separador de miles,separador decimales)

espero te ayude
  #3 (permalink)  
Antiguo 09/11/2009, 15:21
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Multiplicar Variables con Separador de miles

para q te de los 2,000.00 es:

Cita:
$english_format_number = number_format($number,2,".",",");
  #4 (permalink)  
Antiguo 09/11/2009, 15:26
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: Multiplicar Variables con Separador de miles

Buenas,

Arrojó 2.00 porque tienes esto:
$english_format_number = number_format($number, 2, '.', '');

Y estas diciendo que arroje 2 decimales. Para que te arroje más, cambiale ese valor.

Por ejemplo:
$english_format_number = number_format($number, 5, '.', '');

Saludos,
  #5 (permalink)  
Antiguo 09/11/2009, 15:35
Avatar de ilydiego  
Fecha de Ingreso: febrero-2009
Ubicación: en mi Casa
Mensajes: 71
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Multiplicar Variables con Separador de miles

Creo que no me explique bien que es lo que quiero

Código PHP:
$exis 1;//el numero de existencias que tengo de ese producto
$res1 pg_query($giaa_con"SELECT * FROM costos WHERE id_producto='$id' ORDER BY fecha");
    while(
$ro1 pg_fetch_array($res1)){
        
$cost=$ro1['costo'];  //me devuelve $2,000.00
        
$cos substr($cost1); //Le quito el Signo de pesos y me queda 2,000.00
        
$costlo =$ro1['costol']; //me devuelve $2,000.00
        
echo $costlo substr($costlo1); //Le quito el Signo de pesos y me queda 2,000.00
        
    
}
    if(
$costlo==0){ // si el costo de logistica es 0 
    
$total $cos*$exi;} // el total será costo * existencias
    
else{ //sino
    
$total $costlo*$exi// el total sera costolo * existencias
    
}

echo 
$total //  me imprime 2 <-- y se supone que 2,000.00 * 1 es igual a 2,000.00 
por eso no se que onda si exista una funcion para al obtener el valor de los costos, los tranforme a simples enteros
  #6 (permalink)  
Antiguo 09/11/2009, 15:37
Avatar de ilydiego  
Fecha de Ingreso: febrero-2009
Ubicación: en mi Casa
Mensajes: 71
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Multiplicar Variables con Separador de miles

Creo que no me explique bien que es lo que quiero

Código PHP:
$exi 1;//el numero de existencias que tengo de ese producto
$res1 pg_query($giaa_con"SELECT * FROM costos WHERE id_producto='$id' ORDER BY fecha");
    while(
$ro1 pg_fetch_array($res1)){
        
$cost=$ro1['costo'];  //me devuelve $2,000.00
        
$cos substr($cost1); //Le quito el Signo de pesos y me queda 2,000.00
        
$costlo =$ro1['costol']; //me devuelve $2,000.00
        
echo $costlo substr($costlo1); //Le quito el Signo de pesos y me queda 2,000.00
        
    
}
    if(
$costlo==0){ // si el costo de logistica es 0 
    
$total $cos*$exi;} // el total será costo * existencias
    
else{ //sino
    
$total $costlo*$exi// el total sera costolo * existencias
    
}

echo 
$total //  me imprime 2 <-- y se supone que 2,000.00 * 1 es igual a 2,000.00 
por eso no se que onda si exista una funcion para al obtener el valor de los costos, los tranforme a simples enteros
  #7 (permalink)  
Antiguo 09/11/2009, 15:43
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Multiplicar Variables con Separador de miles

Te sugiero hacer un paso extra en el que quites los signos, luego multipliques y luego vuelvas añadir los signos.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #8 (permalink)  
Antiguo 09/11/2009, 15:46
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: Multiplicar Variables con Separador de miles

No se si te pillo bien, creo que no, aun asi hasta donde he entedido en tu ultimo mensaje... ¿quieres que te haga un redondeo?

Si es así, existe la funcion round.

Ejemplo:

echo round(2,000.00); //Imprime 2

¿eso?

Saludos,
  #9 (permalink)  
Antiguo 09/11/2009, 15:54
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Multiplicar Variables con Separador de miles

@DeFFeR lo que pasa es que esta tratando de multiplicar la variable que tiene 2,000.00 * 1 y eso le esta trayendo 2.00 porque al multiplicar quita el signo de coma (,)
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #10 (permalink)  
Antiguo 09/11/2009, 15:59
Avatar de ilydiego  
Fecha de Ingreso: febrero-2009
Ubicación: en mi Casa
Mensajes: 71
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Multiplicar Variables con Separador de miles

Cita:
Iniciado por abimaelrc Ver Mensaje
@DeFFeR lo que pasa es que esta tratando de multiplicar la variable que tiene 2,000.00 * 1 y eso le esta trayendo 2.00 porque al multiplicar quita el signo de coma (,)
si si si eso quiero hacer, y ps se supone que el resultado de 2,000.00 * 1. me tiene que dar 2,000.00, pero ps me da dos, y si lo que quiero hacer el quitar los separadores, pero ps no se si exista una funcion con la cual pueda quitarle los separadoes
  #11 (permalink)  
Antiguo 09/11/2009, 16:04
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Multiplicar Variables con Separador de miles

Puedes usar explode para quitar el separador y luego unir con implode sin separador, haces la multiplicación y luego usas number_format para hacerlo como tu deseas. Tambien puedes usar str_replace para lograr lo mismo de quitarle el separador. Tambien puedes usar preg_replace para quitar el separador, etc, etc.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #12 (permalink)  
Antiguo 09/11/2009, 17:04
Avatar de ilydiego  
Fecha de Ingreso: febrero-2009
Ubicación: en mi Casa
Mensajes: 71
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Multiplicar Variables con Separador de miles

Gracias a todos mi estimados en especial a abimaelrc que con su respuesta pude solucionar mi problema
Lei la informacion de todas las unciones que me dejo y la que logro satisfacer mis necesidades fue la de str_replace()
les dejo como quedo el codigo

Código PHP:
    $res1 pg_query($giaa_con"SELECT * FROM costos WHERE id_producto='$id' ORDER BY fecha");
    while(
$ro1 pg_fetch_array($res1)){
        
$cost=$ro1['costo'];
        
$cos substr($cost1);
        
$costlo =$ro1['costol'];
        
$costlo substr($costlo1);
        
    }
    if(
$costlo==0){
    
$str str_replace(","""$cos); //Quita de la cadena las ","
    
$total $str*$exi;}
    else{
    
$str str_replace(","""$costlo);//Quita de la cadena las ","
    
$total $str*$exi;
    } 
Saludos y mcuhas grx
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 13:40.