一、BigDecimal的加減乘除
import java.math.BigDecimal;
public class BigDecimalDemo {
public static void main(String[] args) {
BigDecimal num1 = new BigDecimal("10.25");
BigDecimal num2 = new BigDecimal("5.55");
// 加法
BigDecimal sum = num1.add(num2);
System.out.println("num1 + num2 = " + sum);
// 減法
BigDecimal sub = num1.subtract(num2);
System.out.println("num1 - num2 = " + sub);
// 乘法
BigDecimal mul = num1.multiply(num2);
System.out.println("num1 * num2 = " + mul);
// 除法
BigDecimal div = num1.divide(num2, 2, BigDecimal.ROUND_HALF_UP);
System.out.println("num1 / num2 = " + div);
}
}
在BigDecimal類中,加減乘除都有對應的方法。其中需要注意的是,除法運算時需要指定保留的小數位數和舍入模式。
二、BigDecimal轉String類型
import java.math.BigDecimal;
public class BigDecimalDemo {
public static void main(String[] args) {
BigDecimal num = new BigDecimal("10.25");
String str = num.toString();
System.out.println(str);
}
}
將BigDecimal轉為String類型可以使用其toString()方法。
三、BigDecimal保留兩位小數
import java.math.BigDecimal;
import java.math.RoundingMode;
public class BigDecimalDemo {
public static void main(String[] args) {
BigDecimal num = new BigDecimal("10.254");
BigDecimal result = num.setScale(2, RoundingMode.HALF_UP);
System.out.println(result);
}
}
在保留小數位數時,可以使用setScale方法,在參數中指定需要保留的小數位數和舍入模式。
四、BigDecimal判斷大小
import java.math.BigDecimal;
public class BigDecimalDemo {
public static void main(String[] args) {
BigDecimal num1 = new BigDecimal("10.25");
BigDecimal num2 = new BigDecimal("5.55");
BigDecimal num3 = new BigDecimal("10.25");
int result1 = num1.compareTo(num2);
System.out.println(result1); // 輸出1
int result2 = num1.compareTo(num3);
System.out.println(result2); // 輸出0
}
}
在BigDecimal類中,compareTo方法可以比較兩個BigDecimal的大小。返回值為1表示第一個數比第二個數大,為0表示兩個數相等,為-1表示第一個數比第二個數小。
五、BigDecimal除法
import java.math.BigDecimal;
import java.math.RoundingMode;
public class BigDecimalDemo {
public static void main(String[] args) {
BigDecimal num1 = new BigDecimal("10.254");
BigDecimal num2 = new BigDecimal("3");
BigDecimal result = num1.divide(num2, 2, RoundingMode.HALF_UP);
System.out.println(result);
}
}
在BigDecimal的除法運算中,需要注意除數不能為0。同時在設置保留小數位數時,需要設置舍入模式,避免精度誤差。
六、BigDecimal乘法
import java.math.BigDecimal;
public class BigDecimalDemo {
public static void main(String[] args) {
BigDecimal num1 = new BigDecimal("10.254");
BigDecimal num2 = new BigDecimal("3");
BigDecimal result = num1.multiply(num2);
System.out.println(result);
}
}
在BigDecimal的乘法運算中,與加減運算類似,只需要調用multiply方法即可。
七、BigDecimal取反
import java.math.BigDecimal;
public class BigDecimalDemo {
public static void main(String[] args) {
BigDecimal num = new BigDecimal("-10.254");
BigDecimal result = num.negate();
System.out.println(result);
}
}
在BigDecimal中,取反可以使用negate方法。
八、BigDecimal減法
import java.math.BigDecimal;
public class BigDecimalDemo {
public static void main(String[] args) {
BigDecimal num1 = new BigDecimal("10.25");
BigDecimal num2 = new BigDecimal("5.55");
BigDecimal result = num1.subtract(num2);
System.out.println(result);
}
}
BigDecimal的減法運算與加法運算類似,直接調用subtract方法即可。
九、BigDecimal使用方法
以上展示了BigDecimal的多個方法以及使用場景。一般而言,在需要涉及到精度計算的場景下,使用BigDecimal能夠避免精度丟失問題,確保運算的準確性。同時在進行BigDecimal的加減乘除運算時,一定要注意保留小數位數和舍入模式,盡量避免精度誤差的產生。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/277507.html
微信掃一掃
支付寶掃一掃