447
技術社區[雲棲]
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