web-dev-qa-db-fra.com

Nombre de chiffres décimaux dans un double

Comment déterminer le nombre de chiffres entiers et le nombre de chiffres après la décimale dans un nombre comme 234.12413 en Java.

29
Anshul

Un double n'est pas toujours une représentation exacte. Vous ne pouvez dire que le nombre de décimales que vous auriez si vous le convertissiez en chaîne.

double d= 234.12413;
String text = Double.toString(Math.abs(d));
int integerPlaces = text.indexOf('.');
int decimalPlaces = text.length() - integerPlaces - 1;

Cela ne fonctionnera que pour les nombres qui ne sont pas transformés en notation d'exposant. Vous pourriez considérer que 1.0 a une ou aucune décimale.

43
Peter Lawrey
Double d = 234.12413;
String[] splitter = d.toString().split("\\.");
splitter[0].length();   // Before Decimal Count
splitter[1].length();   // After  Decimal Count
16
BadSkillz
    String s = "" + 234.12413;
    String[] result = s.split("\\.");
    System.out.println(result[0].length() + " " + result[1].length());
9

1) convertir en chaîne

2) sous-chaîne de '.' finir

3) obtenir la longueur de cette sous-chaîne

1
Gabriel Negut