當兩個整數相除時,由於小數點以後的數字會被截斷,使運算結果爲整數,故此時若希望得到運算結果爲所預期的浮點數,則此時必須將兩整數其一或是全部強制轉換類型爲浮點數。
package com.example.test;
import java.text.DecimalFormat;
public class test {
private static int mNumber1=1;
private static int mNumber2=8;
static double mResult;
public static void main(String[] args) {
// TODO Auto-generated method stub
//第一種方法
mResult=KeepTwoDecimal(mNumber1, mNumber2);
System.out.println("第一個結果:"+mResult);
//第二種方法
DecimalFormat df = new DecimalFormat("0.00");//格式化小數,不足的補0
String num =df.format((double)mNumber1/mNumber2);//返回的是String類型的
double nums=Double.parseDouble(num);
System.out.println("第二個結果:"+nums);
}
private static double KeepTwoDecimal (int number1,int number2){
double a=Double.valueOf(number1);
double b=Double.valueOf(number2);
double c=a/b;
return c=(double)((int)(c*100.0))/100;
}
}
第一個結果:0.12
第二個結果:0.12
當然還有其他方法,比如說c=(float)(Math.round(b/a)*100)/100;不知道爲什麼我用着不起作用。