2017-04-11 61 views
-3

如何從函數的返回中刪除尾部零? 這是另一個類中的函數。從函數的返回中刪除尾部0

static public double Area(double side1,double side2){ 
    return side1*side2; 
} 

,這裏是調用函​​數

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

對於SIDE1 = 10和側面2 = 10的輸出將是

Area = 100.0 

,而我希望它是

Area = 100 

並且例如對於值0.25和2將

Area = 0.5 
+8

你明白,有100和100.0之間的表示沒有區別?這就像是要求一個方法以十六進制而不是十進制方式返回一個'int' ......這只是一個數字。 (「尾隨零」的概念只適用於將字符串格式化爲「double」的情況)但 –

+5

尾隨零是您如何顯示值的人工產物,它不是作爲值的一部分存儲的。 Java!= Cobol – azurefrog

+0

如果你想在輸出/轉換爲字符串時刪除那些:[* Format double value?*](http://stackoverflow.com/questions/24493051/java-format-double-value) –

回答

0

您可以使用DecimalFormat限制小數或刪除尾隨0

爲了限制小數

double area = 0.1234; 
DecimalFormat numberFormat = new DecimalFormat("#.00"); 
System.out.println(numberFormat.format(area)); 

這將給作爲0.12

您可以使用多個輸出0按照要求。

OR

System.out.printf("%.2f", area); 

如果你想刪除尾隨0使用#.#所以0.500.5

DecimalFormat numberFormat = new DecimalFormat("#.#");