Médiaforma

Java – La classe Float

Partagez cet article sur vos réseaux

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.

 
Commentaires

Aucun commentaire pour l'instant.

Laissez un commentaire