Wie konvertiert man Zeichenketten in Java in doppelte Zeichenketten
-
Double.parseDouble()
Methode zur Konvertierung einer Zeichenkette in ein Double -
Double.valueOf()
Methode zur Konvertierung einer Zeichenkette in einen Double -
DecimalFormat.parse
zur Konvertierung einer Zeichenkette in einen Double -
Behandlung der
NumberFormatException
bei der Konvertierung eines String-Wertes in einen doppelten Wert
Wir werden verschiedene Möglichkeiten vorstellen, die gegebene Zeichenkette in Java in ein Double zu konvertieren, mit einigen leicht verständlichen Beispielen.
Double.parseDouble()
Methode zur Konvertierung einer Zeichenkette in ein Double
Der beste und einfachste Weg, einen String in Java zu verdoppeln, ist die Verwendung der statischen Methode parseDouble
der Klasse Double
.
Double.parseDouble
gibt einen primitiven Typ zurück.
public class Main {
public static void main(String[] args) {
String stringValue = "12.34";
double doubleValue = Double.parseDouble(stringValue);
System.out.println("Converted value: " + doubleValue);
}
}
Ausgabe:
Converted value: 12.34
Es kann ein negativer oder positiver Wert in der Zeichenkette sein; diese Methode wird die Zeichenkette korrekt auf double
parsen.
public class Main {
public static void main(String[] args) {
String stringValueNegative = "-12.34";
String stringValuePositive = "+12.34";
double doubleValueNegative = Double.parseDouble(stringValueNegative);
double doubleValuePositive = Double.parseDouble(stringValuePositive);
System.out.println("Converted negative value: " + doubleValueNegative);
System.out.println("Converted positive value: " + doubleValuePositive);
}
}
Ausgabe:
Converted negative value: -12.34
Converted positive value: 12.34
Double.valueOf()
Methode zur Konvertierung einer Zeichenkette in einen Double
Wenn wir ein Double
-Objekt anstelle des primitiven Typs double benötigen, können wir die Methode Double.valueOf
verwenden, um einen doppelten Objektwert aus einer Zeichenkette zu erhalten.
public class Main {
public static void main(String[] args) {
String stringValueNegative = "-12.08d";
String stringValuePositive = "+12.3400";
Double doubleValueNegative = Double.valueOf(stringValueNegative);
Double doubleValuePositive = Double.valueOf(stringValuePositive);
System.out.println(doubleValueNegative);
System.out.println(doubleValuePositive);
}
}
Ausgabe:
-12.08
12.34
DecimalFormat.parse
zur Konvertierung einer Zeichenkette in einen Double
Wenn der von uns gewünschte Wert so etwas wie 1,11,111.12d
ist, können wir die Klasse DecimalFormat
verwenden, um die Zeichenkette zu einem doubleValue()
zu parsen.
Aber da die Klasse DecimalFormat
verschiedene Werte wie int
oder byte
zurückgeben kann, ist es notwendig, alle Operationen im try-catch
-Block durchzuführen. Und da wir einen doubleValue wünschen, müssen wir die Methode doubleValue()
verwenden, um definitiv den Typ double
zu erhalten.
import java.text.DecimalFormat;
import java.text.ParseException;
public class Main {
public static void main(String[] args) {
String stringValue = "1,11,111.12d";
try {
double doubleValue = DecimalFormat.getNumberInstance().parse(stringValue).doubleValue();
System.out.println(doubleValue);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
Ausgabe:
111111.12
Behandlung der NumberFormatException
bei der Konvertierung eines String-Wertes in einen doppelten Wert
Manchmal bekommen wir vielleicht NumberFormatException
. Das passiert, weil der Zeichenkettenwert kein gültiger Doppelwert ist.
Um es deutlicher zu machen, werden wir ein einfaches Beispiel sehen, das diese Ausnahme auslöst.
public class Main {
public static void main(String[] args) {}
String stringValue = "1,11";
double d = Double.parseDouble(stringValue);
System.out.println(d);
}
}
Ausgabe:
Exception in thread "main" java.lang.NumberFormatException: For input string: "1,11"
at java.base/jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2054)
at java.base/jdk.internal.math.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.base/java.lang.Double.parseDouble(Double.java:543)
at com.company.Main.main(Main.java:14)
Die Exception tritt auf, weil 1,11
kein gültiger Doppelwert ist. Die Lösung für diesen Fehler besteht darin, das Komma durch einen Dezimalpunkt zu ersetzen, wie wir es weiter unten tun.
public class Main {
public static void main(String[] args) {
String stringValue = "1,11";
double d = Double.parseDouble(stringValue.replace(",", "."));
System.out.println(d);
}
}
Ausgabe:
1.11
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInVerwandter Artikel - Java Double
- Konvertieren von Int in Double in Java
- Double in Java
- Vergleichen von Doubles in Java
- Konvertieren long in double in Java
- Float- und Double-Datentyp in Java
- Konvertieren Sie Double in String in Java
Verwandter Artikel - Java String
- So führen Sie die Konvertierung von String in String-Array in Java durch
- Wie entferne ich eine Unterzeichenkette aus einer Zeichenkette in Java
- So konvertieren Sie Byte-Array in Hex-String in Java
- Wie man Java-String in Byte konvertiert
- Generieren Sie eine zufällige Zeichenkette in Java
- Die Swap-Methode in Java