閱讀447 返回首頁    go 技術社區[雲棲]


Java常用類庫--Math、Random、NumberFormat、DecimalFormat、BigInteger、BigDecimal

1、Math類

表示數學操作,例如:平方根、四舍五入等等。
public class MathDemo01{
	public static void main(String args[]){
		// Math類中的方法都是靜態方法,直接使用“類.方法名稱()”的形式調用即可
		System.out.println("求平方根:" + Math.sqrt(9.0)) ;
		System.out.println("求兩數的最大值:" + Math.max(10,30)) ;
		System.out.println("求兩數的最小值:" + Math.min(10,30)) ;
		System.out.println("2的3次方:" + Math.pow(2,3)) ;
		System.out.println("四舍五入:" + Math.round(33.6)) ;
	}
};

2、Random類



Random類的主要功能是產生隨機數,可以產生一個指定範圍的隨機數。Random類是在java.util包中的類。
生成10個隨機數字,且數字不大於100
import java.util.Random ;
public class RandomDemo01{
	public static void main(String args[]){
		Random r = new Random() ;		// 實例化Random對象
		for(int i=0;i<10;i++){
			System.out.print(r.nextInt(100) + "\t") ;
		}
	}
};

3、NumberFormat類

從類名稱上可以看見,此類的主要功能是完成數字的格式化顯示。例如:“12345678”。


import java.text.* ;
public class NumberFormatDemo01{
	public static void main(String args[]){
		NumberFormat nf = null ;		// 聲明一個NumberFormat對象
		nf = NumberFormat.getInstance() ;	// 得到默認的數字格式化顯示
		System.out.println("格式化之後的數字:" + nf.format(10000000)) ;
		System.out.println("格式化之後的數字:" + nf.format(1000.345)) ;
	}
};

4、DecimalFormat類



import java.text.* ;
class FormatDemo{
	public void format1(String pattern,double value){	// 此方法專門用於完成數字的格式化顯示
		DecimalFormat df = null ;			// 聲明一個DecimalFormat類的對象
		df = new DecimalFormat(pattern) ;	// 實例化對象,傳入模板
		String str = df.format(value) ;		// 格式化數字
		System.out.println("使用" + pattern
			+ "格式化數字" + value + ":" + str) ;
	}
};
public class NumberFormatDemo02{
	public static void main(String args[]){
		FormatDemo demo = new FormatDemo() ;	// 格式化對象的類
		demo.format1("###,###.###",111222.34567) ;
		demo.format1("000,000.000",11222.34567) ;
		demo.format1("###,###.###¥",111222.34567) ;
		demo.format1("000,000.000¥",11222.34567) ;
		demo.format1("##.###%",0.345678) ;
		demo.format1("00.###%",0.0345678) ;
		demo.format1("###.###\u2030",0.345678) ;
	}
};

5、BigInteger類



import java.math.BigInteger ;
public class BigIntegerDemo01{
	public static void main(String args[]){
		BigInteger bi1 = new BigInteger("123456789") ;	// 聲明BigInteger對象
		BigInteger bi2 = new BigInteger("987654321") ;	// 聲明BigInteger對象
		System.out.println("加法操作:" + bi2.add(bi1)) ;	// 加法操作
		System.out.println("減法操作:" + bi2.subtract(bi1)) ;	// 減法操作
		System.out.println("乘法操作:" + bi2.multiply(bi1)) ;	// 乘法操作
		System.out.println("除法操作:" + bi2.divide(bi1)) ;	// 除法操作
		System.out.println("最大數:" + bi2.max(bi1)) ;	 // 求出最大數
		System.out.println("最小數:" + bi2.min(bi1)) ;	 // 求出最小數
		BigInteger result[] = bi2.divideAndRemainder(bi1) ;	// 求出餘數的除法操作
		System.out.println("商是:" + result[0] + 
			";餘數是:" + result[1]) ;
	}
};

6、BigDecimal類



import java.math.* ;
class MyMath{
	public static double add(double d1,double d2){		// 進行加法計算
		BigDecimal b1 = new BigDecimal(d1) ;
		BigDecimal b2 = new BigDecimal(d2) ;
		return b1.add(b2).doubleValue() ;
	}
	public static double sub(double d1,double d2){		// 進行減法計算
		BigDecimal b1 = new BigDecimal(d1) ;
		BigDecimal b2 = new BigDecimal(d2) ;
		return b1.subtract(b2).doubleValue() ;
	}
	public static double mul(double d1,double d2){		// 進行乘法計算
		BigDecimal b1 = new BigDecimal(d1) ;
		BigDecimal b2 = new BigDecimal(d2) ;
		return b1.multiply(b2).doubleValue() ;
	}
	public static double div(double d1,double d2,int len){		// 進行除法計算
		BigDecimal b1 = new BigDecimal(d1) ;
		BigDecimal b2 = new BigDecimal(d2) ;
		return b1.divide(b2,len,BigDecimal.ROUND_HALF_UP).doubleValue() ;
	}
	public static double round(double d,int len){	// 進行四舍五入
		BigDecimal b1 = new BigDecimal(d) ;
		BigDecimal b2 = new BigDecimal(1) ;
		return b1.divide(b2,len,BigDecimal.ROUND_HALF_UP).doubleValue() ;
	}
};

public class BigDecimalDemo01{
	public static void main(String args[]){
		System.out.println("加法運算:" + MyMath.round(MyMath.add(10.345,3.333),1)) ;
		System.out.println("減法運算:" + MyMath.round(MyMath.sub(10.345,3.333),3)) ;
		System.out.println("乘法運算:" + MyMath.round(MyMath.mul(10.345,3.333),2)) ;
		System.out.println("除法運算:" + MyMath.div(10.345,3.333,3)) ;
	}
};



最後更新:2017-04-03 14:53:50

  上一篇:go Android開發學習知識點清單
  下一篇:go ruby 源碼