variable una convertir java string casting double type-conversion

una - Convertir cadena a doble en Java



string to double c++ (12)

Citando la cita de Robertiano arriba nuevamente, porque esta es, con diferencia, la versión más versátil y adaptable a la localización. ¡Se merece un post completo!

Otra opción:

DecimalFormat df = new DecimalFormat(); DecimalFormatSymbols sfs = new DecimalFormatSymbols(); sfs.setDecimalSeparator('',''); df.setDecimalFormatSymbols(sfs); double d = df.parse(number).doubleValue();

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


El uso de Double.parseDouble() sin rodear el bloque try/catch puede causar una NumberFormatException potencial con la doble cadena 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 no se pueda analizar su String.

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 con formato incorrecto produce un null asignado a valueDouble


Esto es lo que yo haria

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, ingresa la Cadena "4 55,63. 0" la salida será el número doble 45563.0


Hay otra manera también.

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

Doble es una clase y "temp" es una variable. "número" es el número final que está buscando.


Para convertir una cadena de nuevo en un doble, intente lo siguiente

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

El método parseDouble logrará el efecto deseado, y también lo hará el método Double.valueOf ().


Puedes usar Double.parseDouble() para convertir una String a double :

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

Para tu caso parece que quieres:

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


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

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


Solo necesitas analizar los valores de String usando Double

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


Use esto para convertir cualquier número de cadena a doble cuando u necesite 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; }


Utilice new BigDecimal(string) . Esto garantizará el correcto cálculo posterior.

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);


String double_string = "100.215"; Double double = Double.parseDouble(double_string);


double d = Double.parseDouble(aString);

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