Wie kann ich die Tailing-Nullen von der Rückgabe einer Funktion entfernen? Hier ist die Funktion, die in einer anderen Klasse ist.Entfernen der nachfolgenden 0 von der Rückgabe einer Funktion
static public double Area(double side1,double side2){
return side1*side2;
}
und hier ist die aufrufende Funktion
System.out.println("Side 1 : ");
b1=new Scanner(System.in);
double side1=b1.nextDouble();
System.out.println("Side 2: ");
b2=new Scanner(System.in);
double side2=b2.nextDouble();
System.out.println("Area= "+Rectangle.Area(side1, side2));
Für side1 = 10 und side2 = 10 der Ausgang
Area = 100.0
, während ich es
sein wollen wirdArea = 100
und zum Beispiel für die Werte 0,25 und 2 wird
Area = 0.5
Verstehen Sie, dass es keinen Unterschied in der Darstellung zwischen 100 und 100,0? Es ist so, als würde man eine Methode fragen, um ein 'int' in hex anstelle von dezimal zurückzugeben ... es ist nur eine Zahl. (Das Konzept von "a trailing zero" gilt nur für "double", wenn Sie es als String formatieren. Das ist jedoch bei so etwas wie "BigDecimal" nicht der Fall.) –
Nachgestellte Nullen sind ein Artefakt dafür, wie Sie einen Wert anzeigen. Es ist nicht etwas, das als Teil des Wertes gespeichert wird. Java! = Cobol – azurefrog
Wenn Sie diese bei der Ausgabe/Konvertierung in string ablegen wollen: [* Doppelter Wert formatieren? *] (Http://stackoverflow.com/questions/24493051/java-format-double-value) –