Comment représenter POSITIVE_INFINITY comme valeur de BigDecimal ?
Chers,
J'ai consulté 'FAQ Java', 'Les meilleures API de Java' et http://java.sun.com/javase/6/docs/api/ , mais en vain --> nouvelle discussion, quand même.
Les volumineuses données d'entrée de mon application sont disposées dans des fichiers distincts comportant principalement une structure de 'new Object[]' où se trouvent des String, null, new BigDecimal(float), new Boolean et encore d'autres new Object[]. Mon parser marche bien.
J'ai besoin que la valeur de 'BigDecimal's représente dans certains cas l'infini. Dans l'API BigDecimal de Sun, je n'ai pas trouvé une constante 'POSITIVE_INFINITY' telle que 'ROUND_CEILING', 'ONE', ... Cela ne serait-il pas prévu ? Comment palier à cette lacune ?
Merci d'avance.
BigDecimal( POSITIVE_INFINITY )
Merci ttttnht pour ta réponse.
Pour définir 'mon' BigDecimal(POSITIVE_INFINITY) avec la valeur Double la plus grande possible, il n'y aurait donc vraiment rien de plus simple que
Code:
1 2 3 4
|
private static Double infini1 = new Double(Double.POSITIVE_INFINITY);
private static double infini2 = infini1.doubleValue();
private static BigDecimal positive_infinity = new BigDecimal(infini2); |
?
soit
Code:
1 2 3
|
private static BigDecimal positive_infinity = new BigDecimal(
new Double(Double.POSITIVE_INFINITY).doubleValue() ); |
?
Les constantes de Double (MAX_VALUE, POSITIVE_INFINITY, ...) étant inclues dans la classe 'Double', celle-ci dans le package 'java.lang' et celui-ci par défaut dans tout fichier source Java, il est inutile de déclarer
import java.lang.Double;
M'a aussi surpris : MAX_VALUE <> POSITIVE_INFINITY
Pour toute réponse, merci d'avance.
BigDecimal( POSITIVE_INFINITY )
et comment se fait-il qu'après avoir inclu
Code:
1 2 3
|
private static final double positive_infinity =
new Double(Double.POSITIVE_INFINITY).doubleValue(); |
parmi mes propriétés de classe, le débugger refuse de fonctionner dès que j'insère
Code:
1 2
|
System.out.printf("%d\n", positive_infinity); |
p.ex. dans le constructeur de ladite classe ?
(NetBeans 6.1)
Merci.