Wenn ich versuche, die folgende Zeichenfolge in einem Schwimmer zu analysieren und in ein Doppel:String zu schweben/double Parsing
String abc = "8.40";
System.out.println("Double Value: " + Double.parseDouble(abc) * 100);
System.out.println("Float Value: " + Float.parseFloat(abc) * 100);
ich zwei unterschiedliche Ergebnisse.
Double Value: 840.0 Float Value: 839.99994
Aber wenn ich den gleichen Code versuchen, mit dem Schwimmer und Doppel von 10 oder 1000 multipliziert bekomme ich die ähnlichen Ergebnisse für beide.
String abc = "8.40";
System.out.println("Double Value: " + Double.parseDouble(abc) * 10);
System.out.println("Float Value: " + Float.parseFloat(abc) * 10);
Ich bekomme zwei ähnliche Ergebnisse.
Double Value: 84.0 Float Value: 84.0
Und wenn ich versuche, dies:
String abc = "8.40";
System.out.println("Double Value: " + Double.parseDouble(abc) * 1000);
System.out.println("Float Value: " + Float.parseFloat(abc) * 1000);
ich zwei ähnliche Ergebnisse.
Double Value: 8400.0 Float Value: 8400.0
Ok. Was ist die Frage? 'Float' hat eine geringere Genauigkeit als' Double'. – Vyacheslav
Tritt das gleiche auf, wenn Sie '' System.out.println ("Float Value:" + Float.parseFloat ("8.40f") * 100) verwenden; '' '? – m4mbax