Título: Creación del tipo de dato float, implementación de la clase Publicado por: jhonatanAsm en 14 Agosto 2011, 22:09 pm con el sgte código obtienen una clase Float, para crear variables de tipo float
está en php: class Float { private $numero; public function getFloat() { return (float)$this->numero; } public function setFloat($num) { $this->numero=(float)$num; } } en otro archivo lo usarían así: public function asdf(Float $num1) { ... } pd: me podrían explicar como se comprueba que $num1 es tipo Float, acaso se hace una llamada a la clase Float y ésta convierte a $num1 en Float??? gracias. Título: Re: Creación del tipo de dato float, implementación de la clase Publicado por: ~ Yoya ~ en 14 Agosto 2011, 22:16 pm Código
Saludos!. Título: Re: Creación del tipo de dato float, implementación de la clase Publicado por: madpitbull_99 en 14 Agosto 2011, 22:18 pm El proceso de cambiar una variable de tipo, se llama "casting".
Para convertir a float, no hace falta ninguna clase, es tan fácil como esto: Código
Luego para comprobar si es de tipo float, usas is_float(): Código
También se puede hacer con floatval() (http://us3.php.net/manual/en/function.floatval.php). Te recomiendo que leas el siguiente enlace: _Manipulación de tipos (http://us2.php.net/language.types.type-juggling) (Type Juggling). Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje. Título: Re: Creación del tipo de dato float, implementación de la clase Publicado por: jhonatanAsm en 14 Agosto 2011, 23:16 pm ok,
suponiendo que creo una clase llamada Asdf y en otro archivo pongo lo sgte: public function qwerty(Asdf $variable) { .. } ...cómo se verifica que $variable es de tipo Asdf? Título: Re: Creación del tipo de dato float, implementación de la clase Publicado por: ~ Yoya ~ en 14 Agosto 2011, 23:52 pm Creo que estas mezclando Java con PHP
Título: Re: Creación del tipo de dato float, implementación de la clase Publicado por: jhonatanAsm en 16 Agosto 2011, 00:29 am bueno es que en un ejemplo vi, como validaban que un método reciba sólo numero enteros y ponían lo sgte:
public function Suma(Int $num) { ... } y me parece muy práctico ( y fácil) poder indicarle el tipo de dato que recibe un método saludos¡ Título: Re: Creación del tipo de dato float, implementación de la clase Publicado por: WHK en 16 Agosto 2011, 12:22 pm No se verifica al obtener el argumento sino al procesar la función, por algo es función, todo lo que esté dentro debe servir para verificar cosas como esas.
Código
Aunque de todas formas estarás haciendo que tu función sea cada ves menos flexible, vamos que php es la onda, no existe nada mas flexible, es mas flexible que html en firefox. Basta con dar un cast ante cada proceso de la función, po ejemplo: Código
Da lo mismo si le das un null, false, string, objeto porque si $num no es numerico entonces el cast (int) te lo transforma en un cero, por lo tanto: Código
Para eso php creó los cast rápidos, para no tener que estar haciendo clases numericas. De todas formas ya existen muchas clases para esto: http://php.net/manual/es/numberformatter.parse.php http://www.php.net/manual/es/language.types.type-juggling.php http://www.php.net/manual/es/function.ctype-digit.php http://www.php.net/manual/es/ref.var.php Título: Re: Creación del tipo de dato float, implementación de la clase Publicado por: jhonatanAsm en 16 Agosto 2011, 15:56 pm gracias, saludos a todos. ::)
|