Foros del Web » Programando para Internet » PHP »

tipo de datos en php

Estas en el tema de tipo de datos en php en el foro de PHP en Foros del Web. saludos el problem es el siguiente: en un formulario aplico una funcion para separar los miles con coma ejem: 1,000 100,000 55,500 etc, lo que ...
  #1 (permalink)  
Antiguo 15/09/2008, 10:54
 
Fecha de Ingreso: septiembre-2008
Ubicación: Cuernavaca,Morelos,Mexico
Mensajes: 80
Antigüedad: 15 años, 7 meses
Puntos: 0
Exclamación tipo de datos en php

saludos el problem es el siguiente:
en un formulario aplico una funcion para separar los miles con coma ejem: 1,000 100,000 55,500 etc,
lo que sucede es que en el codigo de php me toma solamente los valores que estan antes de la coma y los resultados de las operaciones son incorrectos, ¿alquien sabe como solucionar este problema?? se agradecera su ayuda

ejemplo:

$cantidades=$_POST['cantidadp'] //en cantidades se guarda el numero introducido por el usuario

echo $cantidades*100; //1,000*100=100 no toma en cuenta despues de la coma
  #2 (permalink)  
Antiguo 15/09/2008, 11:11
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: tipo de datos en php

Hola tomasy,

Eso es porque en PHP la cadena "1,000" no es un número, tienes que transformar la cadena en un numero quitandole las comas, y usando "cast" para pasarlo a un entero.

Saludos.
  #3 (permalink)  
Antiguo 15/09/2008, 11:13
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: tipo de datos en php

En php si viene un numero con punto o coma lo toma asi... por un tema "by default"... para poder arreglarlo solo tienes que sacar los puntos (a menos que sea 0,5 "un medio")

En terminos visuales uno esta acostumbrado porque antiguamente tenias que sumar con papel y lapiz y es mas rapido para mirar la cantidad de cifras... pero la makina no tiene problemas en contar los 0's.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #4 (permalink)  
Antiguo 15/09/2008, 12:24
 
Fecha de Ingreso: septiembre-2008
Ubicación: Cuernavaca,Morelos,Mexico
Mensajes: 80
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: tipo de datos en php

saludos, gracias por su respuesta, estube checando que podia hacer y esto fue lo que encontre:
$txc2=$_POST['pxc1']; //aqui se almacena el numero del usuario por ejem:1,000

$nueva_txc2 = ereg_replace('[^A-Za-z0-9]', '', $txc2); //esta funcion es para sustituir caracteres especiales de cadenas las '' estan en blanco asi que el numero lo pasa a 1000 y con esto ya realizo las operaciones

ereg_replace esta funcion la pueden checar en http://www.php.net/preg-replace

OJO esta funcion tambien quita los puntos de numeros decimales, en este caso lo uso por que manejo solo numeros enteros

El Conocimiento del Hombre Pertenece al Mundo

Última edición por tomasy; 15/09/2008 a las 17:10
  #5 (permalink)  
Antiguo 15/09/2008, 13:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: tipo de datos en php

Ojo que con esa función tambien reemplazas el "." y si tienes decimales obtendras un número incorrecto.

Saludos.
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 17:10.