一、bigdecimal取整數部分
import java.math.BigDecimal; public class BigDecimalTest { public static void main(String[] args) { BigDecimal bd1 = new BigDecimal("123.456"); int integerPart = bd1.intValue(); System.out.println("整數部分為:" + integerPart); } }
使用BigDecimal類的intValue()方法可以直接取得該數的整數部分。上述代碼中,將123.456轉換成BigDecimal類型的對象bd1後,使用intValue()方法獲得整數部分的值123。
二、bigdecimal保留整數位
import java.math.BigDecimal; public class BigDecimalTest { public static void main(String[] args) { BigDecimal bd1 = new BigDecimal("123.456"); BigDecimal bd2 = bd1.setScale(2, BigDecimal.ROUND_HALF_UP); System.out.println("保留兩位小數後為:" + bd2); } }
使用BigDecimal類的setScale()方法可以設置BigDecimal的精度,並且可以設置四捨五入的方式。上述代碼中,設置精度為2,四捨五入方式為ROUND_HALF_UP,即四捨五入,取得保留兩位小數的結果123.46。
三、bigdecimal取整數位
import java.math.BigDecimal; public class BigDecimalTest { public static void main(String[] args) { BigDecimal bd1 = new BigDecimal("123.456"); BigDecimal bd2 = bd1.setScale(0, BigDecimal.ROUND_HALF_UP); System.out.println("取整數位後為:" + bd2); } }
同樣是使用setScale()方法,將精度設置為0,即可獲得BigDecimal對象的整數位。
四、bigdecimal向上取整數的嗎?
import java.math.BigDecimal; public class BigDecimalTest { public static void main(String[] args) { BigDecimal bd1 = new BigDecimal("123.456"); BigDecimal bd2 = bd1.setScale(0, BigDecimal.ROUND_UP); System.out.println("向上取整後為:" + bd2); } }
使用setScale()方法,並設置為ROUND_UP可以實現BigDecimal的向上取整。在上述代碼中,將BigDecimal對象123.456向上取整後,結果為124。
五、bigdecimal取整數和小數部分
import java.math.BigDecimal; public class BigDecimalTest { public static void main(String[] args) { BigDecimal bd1 = new BigDecimal("123.456"); int integerPart = bd1.intValue(); BigDecimal bd2 = bd1.subtract(new BigDecimal(integerPart)); System.out.println("整數部分為:" + integerPart); System.out.println("小數部分為:" + bd2); } }
將BigDecimal對象的整數部分和小數部分分別計算出來,可以使用intValue()方法獲得整數部分的值,而小數部分則是將原數減去整數部分。上述代碼中,將BigDecimal對象123.456的整數部分計算得到123,小數部分計算得到0.456。
六、bigdecimal向下取整
import java.math.BigDecimal; public class BigDecimalTest { public static void main(String[] args) { BigDecimal bd1 = new BigDecimal("123.456"); BigDecimal bd2 = bd1.setScale(0, BigDecimal.ROUND_DOWN); System.out.println("向下取整後為:" + bd2); } }
同樣是使用setScale()方法,將設置為ROUND_DOWN即可實現BigDecimal的向下取整。在上述代碼中,將BigDecimal對象123.456向下取整後,結果為123。
七、bigdecimal取整數不四捨五入
import java.math.BigDecimal; public class BigDecimalTest { public static void main(String[] args) { BigDecimal bd1 = new BigDecimal("123.456"); BigDecimal bd2 = bd1.setScale(0, BigDecimal.ROUND_DOWN); System.out.println("不四捨五入的結果為:" + bd2); } }
使用setScale()方法,將設置為ROUND_DOWN即可實現BigDecimal的不四捨五入取整。在上述代碼中,將BigDecimal對象123.456不四捨五入取整後,結果為123。
八、bigdecimal取正數
import java.math.BigDecimal; public class BigDecimalTest { public static void main(String[] args) { BigDecimal bd1 = new BigDecimal("-123.456"); BigDecimal bd2 = bd1.abs(); System.out.println("取正數的結果為:" + bd2); } }
使用BigDecimal類的abs()方法可以獲得該BigDecimal對象的正數。在上述代碼中,將BigDecimal對象-123.456取正數後,結果為123.456。
九、bigdecimal取正數函數的
import java.math.BigDecimal; public class BigDecimalTest { public static void main(String[] args) { BigDecimal bd1 = new BigDecimal("-123.456"); BigDecimal bd2 = getAbsoluteValue(bd1); System.out.println("取正數的結果為:" + bd2); } public static BigDecimal getAbsoluteValue(BigDecimal bd) { return bd.abs(); } }
可以自定義方法實現將BigDecimal對象轉換成其正數。上述代碼中,定義了一個名為getAbsoluteValue()的方法,可以將其它 BigDecimal對象轉換為其絕對值的BigDecimal對象。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/247270.html