89 votes

Comment vérifier si une valeur double n'a pas de partie décimale ?

J'ai une valeur double que je dois afficher sur mon interface utilisateur. Maintenant, la condition est que la valeur décimale du double = 0, par exemple - 14.0. Dans ce cas, je ne dois afficher que 14 sur mon interface utilisateur. De plus, la limite maximale des caractères est de 5 ici.

Par exemple, 12.34. La valeur entière ne peut être supérieure à deux chiffres, tout comme la valeur décimale de notre double.

Quelle serait la meilleure façon de procéder ?

270voto

Lone nebula Points 4528

Vous pourriez simplement faire

d % 1 == 0

pour vérifier si double d est un tout.

23voto

Subhrajyoti Majumder Points 20001
double d = 14.4;
if((d-(int)d)!=0)
    System.out.println("decimal value is there");
else
    System.out.println("decimal value is not there");

13voto

Gokul Nath Points 4157

Tous les nombres entiers sont modulo de 1. Donc la vérification ci-dessous doit vous donner la réponse.

if(d % 1 == 0)

10voto

ay89 Points 3166

Le plafond et le plancher devraient donner le même résultat.

Math.ceil(x.y) == Math.floor(x.y)

ou simplement vérifier l'égalité avec la valeur double

x.y == Math.ceil(x.y)
x.y == Math.floor(x.y)

o

Math.round(x.y) == x.y

2voto

Patashu Points 14053

Comparez deux valeurs : le double normal, et le double après floor le faire. S'ils ont la même valeur, il n'y a pas de composante décimale.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X