BigDecimal是Java的math包中的一個API類,用來對超過16位有效位的數(shù)進行精確的運算。Java中對bigdimical比較大小,不能直接使用大于或者小于好運算符,而是使用bigdemical的compareTo方法?梢酝ㄟ^BigDecimal的compareTo方法來進行比較。返回的結(jié)果是int類型,-1表示小于,0是等于,1是大于。那么,BigDecimal如何比較大小以及方法?
借用《Effactive Java》這本書中的話,float和double類型的主要設(shè)計目標是為了科學(xué)計算和工程計算。他們執(zhí)行二進制浮點運算,這是為了在廣域數(shù)值范圍上提供較為精確的快速近似計算而精心設(shè)計的。然而,它們沒有提供完全精確的結(jié)果,所以不應(yīng)該被用于要求精確結(jié)果的場合。但是,商業(yè)計算往往要求結(jié)果精確。
BigDecimal是Java的math包中的一個API類,用來對超過16位有效位的數(shù)進行精確的運算。那么,BigDecimal如何比較大小以及方法?
打開eclipse工具,新建一個Web項目,并在src包中新建com.you.utils
在已新建的package包下,新建Java類BigDecimalCompare,注意勾選main主方法在主方法中,聲明兩個BigDecimal類型變量b1和b2,調(diào)用equals()方法比較大小保存代碼并運行文件,結(jié)果打印出相等,說明這個方法可以用來比較BigDecimal類型將equals()方法換成==,然后保存運行,結(jié)果控制臺什么都沒有打印定義一個int類型變量a,調(diào)用compareTo()方法,將b1和b2比較大小的結(jié)果賦值給a;當a等于0,說明b1和b2相等。保存運行后,打印出相等,說明compareTo對比較BigDecimal類型也是有效的。