Java oferece duas classes com facilidades para manipular valores numéricos reais, java.lang.Float e java.lang.Double.
Para cada uma das classes, são definidas constantes que representam os mínimo e máximo valores representáveis, assim como as representações internas para os valores infinito negativo, infinito positivo e a representação para Not A Number:
Float.MIN_VALUE Float.MAX_VALUE Float.NEGATIVE_INFINITY Float.POSITIVE_INFINITY Float.NaN Double.MIN_VALUE Double.MAX_VALUE Double.NEGATIVE_INFINITY Double.POSITIVE_INFINITY Double.NaN
Há funcionalidades para testar se o valor de uma variável corresponde a uma das situações especiais de representação:
boolean Float.isInfinite(float v); boolean Float.isNaN(float v); boolean Double.isInfinite(double v); boolean Double.isNaN(double v);
Há funcionalidades para a conversão entre o valor de uma variável e sua representação como string:
String Float.toString(float f); float Float.parseFloat(String s); String Double.toString(double d); double Double.parseDouble(String s);
Há também funcionalidades para converter entre as representações binárias (internas) de um número real e seu valor:
int Float.floatToIntBits(float f); float Float.intBitsToFloat(int bits); long Double.doubleToLongBits(double d); double Double.longBitsToDouble(long bits);
©
Ivan Luiz Marques Ricarte
DCA/FEEC/UNICAMP