Médiaforma

Java – La classe Float

Print Friendly

Les constantes, variables et méthodes de cette classe sont immédiatement accessibles sans qu’il soit nécessaire d’utiliser une instruction import. La déclaration suivante est implicite :

import java.lang.*;

Les variables

MAX_VALUE représente la valeur maximale qui puisse être stockée dans une variable float : 3.40282346638528860e+38f.

MIN_VALUE représente la valeur minimale qui puisse être stockée dans une variable float : 1.40129846432481707e-45f.

NEGATIVE_INFINITY représente la valeur -infini.

POSITIVE_INFINITY représente la valeur +infini.

NaN représente une valeur indéterminée.

Le constructeur

Le constructeur Float permet de définir un objet Float à partir d’une variable float ou double :

public Float(float value);
public Float(double value);

Exemple :

Voir méthodes IntValue, longValue, doubleValue, floatValue et hashCode.

Les méthodes

isInfinite()

Cette méthode retourne la valeur true si le float spécifié en argument a une valeur infinie. Elle retourne la valeur false dans le cas contraire :

static public boolean isInfinite(float v);

Exemple :

public class Test {
  public static void main (String args[]) {
    float x = (float) (1/0.0);
    System.out.println(x);
    System.out.println(Float.isInfinite(x));
  }
}

Le premier println affiche la valeur infinite et le second la valeur true. Java considère donc que la valeur stockée dans la variable x est infinie.

Remarque

Vous pouvez également utiliser la méthode isInfinite() pour déterminer si un objet Float a une valeur infinie :

public boolean isInfinite();

toString()

Cette méthode renvoie une chaîne de caractères qui représente le float passé en argument :

public static native String toString(float f);

Exemple :

public class Test {
  public static void main (String args[])
  {
    float x = (float) Math.PI;
    String S;
    S = Float.toString(x);
    System.out.println(S.length());
  }
}

Après conversion du float x en chaîne de caractères :

S = Float.toString(x);

il devient possible d’utiliser les méthodes de la classe String pour travailler sur la valeur convertie du float :

System.out.println(S.length());

Remarque

Vous pouvez également utiliser la méthode toString() pour convertir un objet Float en un objet String :

public String toString();

intValue()

La méthode intValue() retourne la valeur entière de l’objet Double sur lequel elle est appliquée :

public int intValue()

Exemple :

public class Test {
  public static void main (String args[])
  {
    float x = (float) Math.PI;
    Float frr = new Float(x);
    System.out.println(frr.intValue());
  }
}

La première instruction affecte la constante PI à la variable float x :

float x = (float) Math.PI;

La deuxième instruction définit l’objet Float frr à partir de la variable float x :

Float frr = new Float(x);

Enfin, la troisième instruction affiche la valeur entière de l’objet frr :

System.out.println(frr.intValue());

Remarque

Si la valeur à convertir est stockée dans une variable float (et non dans un objet Float), il sera plus simple d’utiliser la syntaxe suivante :

float x = (float) Math.PI;
System.out.println((int) x);

longValue()

La méthode longValue() retourne la valeur entière long de l’objet Double sur lequel elle est appliquée :

public long longValue()

Exemple :

public class Test {
  public static void main (String args[])
  {
    float x = (float) 1486618620.65617;
    Float Fx = new Float(x);
    long Lx = Fx.longValue();
    System.out.println(Lx);
  }
}

La première instruction initialise la variable x :

float x = (float) 1486618620.65617;

La deuxième instruction définit l’objet float Fx à partir de la variable float x :

Float Fx = new Float(x);

La troisième instruction définit la variable long Lx en appliquant la méthode longValue() sur l’objet Float Fx :

long Lx = Fx.longValue();

Remarque

Si la valeur à convertir est stockée dans une variable double (et non dans un objet Double), il sera plus simple d’utiliser la syntaxe suivante :

float x = (float) 1486618620.65617;
long Lx = (long) x;

floatValue()

La méthode floatValue() retourne la valeur réelle float de l’objet Float sur lequel elle est appliquée :

public float floatValue()

Exemple :

public class Test {
  public static void main (String args[])
  {
    float x = (float) 1.234567890123456789e12f;
    Float Fx = new Float(x);
    float fx = Fx.floatValue();
    System.out.println("Le nombre original : " + x);
    System.out.println("Après conversion : " + fx);
  }
}

La première instruction initialise la variable x :

float x = (float) 1.234567890123456789e12f;

La deuxième instruction définit l’objet Float Fx à partir de la variable float x :

Float Fx = new Float(x);

La troisième instruction définit la variable float fx en appliquant la méthode floatValue() sur l’objet Float Fx :

float Fx = Fx.floatValue();

doubleValue()

La méthode doubleValue() retourne la valeur réelle double de l’objet Double sur lequel elle est appliquée :

public double doubleValue();

Exemple :

public class Test {
  public static void main (String args[]) throws java.io.IOException
  {
    double d1;
    String Interm;

    System.out.println("Entrez une valeur réelle float : ");
    Interm = Lit();
    d1=Float.valueOf(Interm).doubleValue();
    System.out.println("Voici sa conversion en double : " + d1);
  }

  public static String Lit() throws java.io.IOException
  {
    String S = "";
    char C;
    while ((C=(char)System.in.read()) != '\r')
    {
      S = S + C;
    }
    C=(char)System.in.read();
    return S;
  }
}

La fonction Lit() acquiert les caractères tapés au clavier et les retourne sous forme d’une chaîne String lorsque la touche Entrée est pressée.

Dans la procédure main(), un message invite l’utilisateur à entrer une valeur réelle float :

System.out.println("Entrez une valeur réelle float : ");

Les caractères tapés sont ensuite mémorisés et stockés dans la variable String Interm :

Interm = Lit();

L’instruction suivante stocke dans la variable r1 la conversion réelle double de la chaîne Interm :

r1=Float.valueOf(Interm).doubleValue();

La méthode valueOf(Interm) convertit la chaîne Interm en un objet Float. Cette méthode fait partie de la classe Float. Elle est dont référencée par Float.valueOf(Interm). On applique ensuite la méthode doubleValue() à l’objet Float qui vient d’être défini, pour le convertir en un réel double…

Remarque

Si la valeur à convertir est stockée dans une variable float (et non dans un objet Float), il sera plus simple d’utiliser la syntaxe suivante :

double d1 = (double) x;

hashCode()

Cette méthode retourne le hashcode (chaque objet Java possède un hashcode qui lui est propre) de l’objet sur lequel elle est appliquée :

public int hashCode();

Exemple :

public class Test {
  public static void main (String args[])
  {
    float x = 1.2345678f;
    Float Fx = new Float(x);
    System.out.println(Fx.hashCode());
  }
}

La troisième instruction de la procédure main() affiche le hashcode de l’objet Float précédemment défini :

Float Fx = new Float(x);
System.out.println(Fx.hashCode());

equals()

Cette méthode compare l’objet this et l’objet spécifié. Elle renvoie la valeur true si les objets sont identiques et la valeur false dans le cas contraire :

public boolean equals(Object obj)

valueOf()

Cette méthode retourne un objet Float initialisé à la valeur numérique placée dans l’argument String :

public static native Float valueOf(String s) throws NumberFormatException;

Exemple :

Voir la méthode doubleValue().

floatToIntBits()

Cette méthode renvoie la représentation binaire d’une valeur double :

public static native int floatToIntBits(float value);

Exemple :

public class Test {
  public static void main (String args[])
  {
    float x = 123.456f;
    int binaire = Float.floatToIntBits(x);
    System.out.println("Valeur initiale : " + x);
    System.out.println("Conversion binaire : " + binaire);
    System.out.println("Conversion binaire->float : " + Float.intBitsToFloat(binaire));
  }
}

Dans un premier temps, une valeur réelle float est stockée dans la variable x :

float x = 123.456f;

Cette variable est convertie en binaire avec la méthode floatToIntBits() et stockée dans la variable int binaire :

int binaire = Float.floatToIntBits(x);

La valeur initiale et la conversion binaire sont ensuite affichées :

System.out.println("Valeur initiale : " + x);
System.out.println("Conversion binaire : " + binaire);

Enfin, la valeur binaire est reconvertie en un réel float avec la méthode intBitsToFloat() et affichée :

System.out.println("Conversion binaire->float : " + Float.intBitsToFloat(binaire));

intBitsToFloat()

Cette méthode renvoie la représentation float d’une valeur binaire :

public static float intBitsToFloat(int bits);

Exemple :

Voir la méthode floatToIntBits().

parseFloat()

Cette méthode renvoie la représentation String d’un objet Float.

Vous avez aimé cet article ? Partagez-le avec vos réseaux...
 
Comments

No comments yet.

Leave a Reply