elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Creación del tipo de dato float, implementación de la clase
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Creación del tipo de dato float, implementación de la clase  (Leído 4,854 veces)
jhonatanAsm


Desconectado Desconectado

Mensajes: 376



Ver Perfil WWW
Creación del tipo de dato float, implementación de la clase
« 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.


En línea

mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Creación del tipo de dato float, implementación de la clase
« Respuesta #1 en: 14 Agosto 2011, 22:16 pm »

Código
  1. public function getFloat()
  2. {
  3. return (float)$this->numero;
  4. }
  5. public function setFloat($num)
  6. {
  7. $this->numero=(float)$num;
  8. }

Saludos!.


En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
madpitbull_99
Colaborador
***
Desconectado Desconectado

Mensajes: 1.911



Ver Perfil WWW
Re: Creación del tipo de dato float, implementación de la clase
« Respuesta #2 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
  1. $num = 132123;
  2. $numFloat = (float) $num;

Luego para comprobar si es de tipo float, usas is_float():
Código
  1. if(is_float(27.25)) {
  2.    echo "es flotante\n";
  3. }else {
  4.    echo "no es flotante\n";
  5. }

También se puede hacer con floatval().

Te recomiendo que leas el siguiente enlace:

_Manipulación de tipos (Type Juggling).


Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
En línea



«Si quieres la paz prepárate para la guerra» Flavius Vegetius

[Taller]Instalación/Configuración y Teoría de Servicios en Red
jhonatanAsm


Desconectado Desconectado

Mensajes: 376



Ver Perfil WWW
Re: Creación del tipo de dato float, implementación de la clase
« Respuesta #3 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?

En línea

mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Creación del tipo de dato float, implementación de la clase
« Respuesta #4 en: 14 Agosto 2011, 23:52 pm »

Creo que estas mezclando Java con PHP
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
jhonatanAsm


Desconectado Desconectado

Mensajes: 376



Ver Perfil WWW
Re: Creación del tipo de dato float, implementación de la clase
« Respuesta #5 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¡
En línea

mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Creación del tipo de dato float, implementación de la clase
« Respuesta #6 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
  1. public function Suma($num){
  2. if((int)$num == 0) return 0; /* Invalid integer */
  3. }

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
  1. function suma($num1, $num2){
  2. return ((int)$num1 + (int)$num2);
  3. }

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
  1. suma('hola', 9); // resultado: 0+9=9

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
En línea

jhonatanAsm


Desconectado Desconectado

Mensajes: 376



Ver Perfil WWW
Re: Creación del tipo de dato float, implementación de la clase
« Respuesta #7 en: 16 Agosto 2011, 15:56 pm »

gracias, saludos a todos. ::)
En línea

mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Incremento de dato FLOAT JS
Desarrollo Web
Riki_89D 1 2,217 Último mensaje 2 Enero 2011, 01:23 am
por Riki_89D
[C++] Buscar un dato privado en un vector de clase
Programación C/C++
Rockmore 7 5,987 Último mensaje 10 Marzo 2011, 18:13 pm
por Rockmore
FILE * como dato miembro de una clase (C++)
Programación C/C++
oPen syLar 2 3,335 Último mensaje 18 Octubre 2011, 17:48 pm
por oPen syLar
[Ejercicio] Sin usar tipo float
Programación C/C++
Miky Gonzalez 4 2,683 Último mensaje 10 Septiembre 2013, 19:31 pm
por do-while
Problema con ejercicio de separar interfaz de implementación de una clase
Programación C/C++
Mordecai 1 2,268 Último mensaje 14 Septiembre 2013, 04:49 am
por erest0r
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines