兩個整形相除保留兩位小數

當兩個整數相除時,由於小數點以後的數字會被截斷,使運算結果爲整數,故此時若希望得到運算結果爲所預期的浮點數,則此時必須將兩整數其一或是全部強制轉換類型爲浮點數。 


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;不知道爲什麼我用着不起作用。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章