je souhaite faire de 50.12 deux entiers 50 et 12
merci
Version imprimable
je souhaite faire de 50.12 deux entiers 50 et 12
merci
Il y'a surement plus propre comme méthode mais en voici une vite fait bien fait : (et qui ne semble pas poser de problème d'arrondis au vu de la méthode employée).
Code:
1
2
3
4
5
6
7 double valeur = 550.1442d; int entier1 = (int) valeur; int entier2 = Integer.parseInt((""+valeur).substring((""+valeur).indexOf(".")+1)); System.err.println(">> "+entier1); System.err.println(">> "+entier2);
merci
Les rééls ça n'existe pas en programmation. 50.12 et 550.1442 ça n'existe pas en double. Tout n'est qu'approché.
On peut toujours arrondir à l'unité entière, mais il n'y a pas de "prendre la partie fractionnaire". Ce concept n'existe pas, ou plutôt il est extrêmement contre-intuitif. En tout cas la partie fractionnaire n'est pas 12 ni 1442.
Le problème ne me semble pas être avec le code qui cherche à faire ça.
Le problème c'est de chercher à faire ça. Parce que "ça" n'est pas défini pour vouloir dire grand-chose, de par la nature même des doubles.
Ça s'appelle BigDecimal. Mais ça ne représente ni les réels ni les rationnels. Seulement les décimaux.