Número de dígitos decimales en un doble

Necesito el número de dígitos enteros y el número de dígitos después del decimal en un número como 234.12413 en Java.

Un doble no es siempre una representación exacta. Solo puedes decir cuántos lugares decimales tendrías si lo convirtieras en una Cadena.

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

Esto solo funcionará para los números que no se convierten en notación de exponente. Puede considerar 1.0 para tener uno o ningún lugar decimal.

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

1) convertir a cadena

2) subcadena de ‘.’ para terminar

3) obtener la longitud de esta subcadena