Convertir cadena en doble en Java

¿Cómo puedo convertir una String como "12.34" a una double en Java?

Puede usar Double.parseDouble() para convertir un String en un double :

 String text = "12.34"; // example String double value = Double.parseDouble(text); 

Para su caso, parece que quiere:

 double total = Double.parseDouble(jlbTotal.getText()); double price = Double.parseDouble(jlbPrice.getText()); 

Si tiene problemas para analizar cadena a valores decimales, debe reemplazar “,” en el número a “.”


 String number = "123,321"; double value = Double.parseDouble( number.replace(",",".") ); 
 double d = Double.parseDouble(aString); 

Esto debería convertir la cadena aString en la doble d.

Para convertir una cadena en una doble, intente lo siguiente

 String s = "10.1"; Double d = Double.parseDouble(s); 

El método parseDouble logrará el efecto deseado, al igual que el método Double.valueOf ().

Use el new BigDecimal(string) . Esto garantizará un cálculo adecuado más adelante.

Como regla general, siempre use BigDecimal para cálculos sensibles como el dinero.

Ejemplo:

 String doubleAsString = "23.23"; BigDecimal price = new BigDecimal(doubleAsString); BigDecimal total = price.plus(anotherPrice); 

Solo necesita analizar los valores de cadena usando Double

 String someValue= "52.23"; Double doubleVal = Double.parseDouble(someValue); System.out.println(doubleVal); 

Citando nuevamente la cita de Robertiano, porque esta es, con mucho, la versión más versátil y adaptable a la localización. Merece una publicación completa!

Otra opción:

 DecimalFormat df = new DecimalFormat(); DecimalFormatSymbols sfs = new DecimalFormatSymbols(); sfs.setDecimalSeparator(','); df.setDecimalFormatSymbols(sfs); double d = df.parse(number).doubleValue(); 
 String double_string = "100.215"; Double double = Double.parseDouble(double_string); 

Hay otra manera también.

 Double temp = Double.valueOf(str); number = temp.doubleValue(); 

El doble es una clase y “temperatura” es una variable. “número” es el número final que está buscando.

El uso de Double.parseDouble() sin el bloque NumberFormatException try/catch circundante puede causar que la NumberFormatException potencial NumberFormatException la cadena doble de entrada que no se ajusta a un formato válido.

Guava ofrece un método de utilidad para esto que devuelve null en caso de que su Cadena no pueda ser analizada.

https://google.github.io/guava/releases/19.0/api/docs/com/google/common/primitives/Doubles.html#tryParse(java.lang.String)

Double valueDouble = Doubles.tryParse(aPotentiallyCorruptedDoubleString);

En tiempo de ejecución, una entrada de cadena mal formada produce null asignado a valueDouble

Esto es lo que haría

  public static double convertToDouble(String temp){ String a = temp; //replace all commas if present with no comma String s = a.replaceAll(",","").trim(); // if there are any empty spaces also take it out. String f = s.replaceAll(" ", ""); //now convert the string to double double result = Double.parseDouble(f); return result; // return the result } 

Por ejemplo, ingrese la cadena “4 55,63. 0”, la salida será el número doble 45563.0

Utilicé esto para convertir cualquier número String a double cuando necesita int simplemente convierta el tipo de datos de num y num2 a int; tomó todos los casos para cualquier cadena doble con Eng: “Bader Qandeel”

 public static double str2doubel(String str) { double num = 0; double num2 = 0; int idForDot = str.indexOf('.'); boolean isNeg = false; String st; int start = 0; int end = str.length(); if (idForDot != -1) { st = str.substring(0, idForDot); for (int i = str.length() - 1; i >= idForDot + 1; i--) { num2 = (num2 + str.charAt(i) - '0') / 10; } } else { st = str; } if (st.charAt(0) == '-') { isNeg = true; start++; } else if (st.charAt(0) == '+') { start++; } for (int i = start; i < st.length(); i++) { if (st.charAt(i) == ',') { continue; } num *= 10; num += st.charAt(i) - '0'; } num = num + num2; if (isNeg) { num = -1 * num; } return num; }