without scientific quitar numeros numero notacion formato convertir cientificos cientifica java

scientific - numeros cientificos java



Java analiza un número en notación exponencial (2)

Use Double.valueOf() y emita el resultado a long :

Double.valueOf("9.18E+09").longValue()

Estoy tratando de hacer una conversión de una Cadena a un entero para el cual obtengo una NumberFormatException . La razón es bastante obvia. Pero necesito una solución aquí. A continuación se muestra el código de ejemplo.

public class NumberFormatTest { public static void main(String[] args) { String num = "9.18E+09"; try{ long val = Long.valueOf(num); }catch(NumberFormatException ne){ //Try to convert the value to 9180000000 here } } }

Necesito la lógica que va en la sección de comentarios, una genérica estaría bien. Gracias.


BigDecimal bd = new BigDecimal("9.18E+09"); long val = bd.longValue();

Pero esto agrega gastos generales, que no es necesario con números más pequeños. Para los números que se pueden representar en long , use la solución de Joachim Sauer.