共計(jì) 961 個(gè)字符,預(yù)計(jì)需要花費(fèi) 3 分鐘才能閱讀完成。
在 Java 中,BigDecimal
類用于精確表示和計(jì)算十進(jìn)制數(shù)。它提供了各種方法來執(zhí)行基本的算術(shù)運(yùn)算,如加法、減法、乘法和除法,同時(shí)還支持比較運(yùn)算和取整操作。
下面是一些常用的 BigDecimal
用法示例:
-
創(chuàng)建
BigDecimal
對(duì)象:BigDecimal num1 = new BigDecimal("10.25"); // 使用字符串創(chuàng)建 BigDecimal 對(duì)象 BigDecimal num2 = BigDecimal.valueOf(5.75); // 使用 double 值創(chuàng)建 BigDecimal 對(duì)象
-
執(zhí)行基本算術(shù)運(yùn)算:
BigDecimal sum = num1.add(num2); // 加法 BigDecimal difference = num1.subtract(num2); // 減法 BigDecimal product = num1.multiply(num2); // 乘法 BigDecimal quotient = num1.divide(num2, 2, RoundingMode.HALF_UP); // 除法,保留兩位小數(shù)
-
比較運(yùn)算:
int result = num1.compareTo(num2); // 比較兩個(gè) BigDecimal 對(duì)象的大小,返回 -1、0 或 1 boolean isEqual = num1.equals(num2); // 比較兩個(gè) BigDecimal 對(duì)象是否相等 boolean isGreater = num1.compareTo(num2) > 0; // 判斷 num1 是否大于 num2 boolean isLess = num1.compareTo(num2) < 0; // 判斷 num1 是否小于 num2
-
取整操作:
BigDecimal rounded = num1.setScale(0, RoundingMode.UP); // 四舍五入取整 BigDecimal truncated = num1.setScale(0, RoundingMode.DOWN); // 直接舍棄小數(shù)部分取整
需要注意的是,由于 BigDecimal
是不可變類,所有的操作都會(huì)返回一個(gè)新的 BigDecimal
對(duì)象。因此,在進(jìn)行連續(xù)的計(jì)算操作時(shí),需要將結(jié)果賦值給一個(gè)新的變量。
另外,由于 BigDecimal
的操作相對(duì)較慢,對(duì)于一些精確計(jì)算的場景,可以考慮使用 BigDecimal
來確保計(jì)算的精確性。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完
發(fā)表至: Java
2024-02-01