2013-10-17 1 views
-2

Je voudrais vérifier si la valeur double a une exposant ou non. Il n'y a pas une telle méthode dans Math en utilisant ce que je peux déterminer. Je ne veux pas le convertir en chaîne, puis utiliser les méthodes indexOf() ou .Numéro de chèque exposant ou non en java

Merci d'avance.

+0

Pourriez-vous nous donner un exemple de doublon avec exposant, s'il vous plaît? – luanjot

+2

avez-vous essayé de faire quelque chose? –

+2

Pourriez-vous nous donner un exemple de double sans exposant? La dernière fois que j'ai vérifié la spécification IEEE, chaque double avait un exposant .... – Ingo

Répondre

4

En interne, tous les doubles sont représentés de la même manière. (Ils ont tous des exposants binaires, bien que vous ne les voyiez pas.)

Qu'ils soient imprimés avec un exposant ou non est seulement un problème de formatage. Il n'est pas significatif de tester si le double lui-même a un exposant. La bonne façon de tester si elle est formatée avec un exposant est de prendre la représentation sous forme de chaîne et d'utiliser str.contains("E") || str.contains("e").

Vous pouvez utiliser un objet format string ou DecimalFormat pour obtenir un certain contrôle sur la façon dont le double est converti en chaîne. Par exemple, String.format("%f", 9.7561E-4) (nombre avec exposant) renvoie la chaîne 0.000976 (sans exposant).

+0

OP a mentionné dans la question qu'il/elle ne veut pas utiliser String.conatins() – SpringLearner

+3

@javaBeginner Oui, mais c'est une exigence non-sens de OP. OP doit apprendre la différence entre la représentation externe et interne des données, donc +1. – Ingo