在Java中使用BigDecimal值
java.math.BigDecimal 類提供用於算術運算、比例運算、舍入、比較、雜湊和格式轉換的操作。
提供兩種型別的操作來操作BigDecimal的比例:
- 縮放/舍入操作
- 小數點移動操作
以下是BigDecimal值的一些建構函式:
序號 | 建構函式及描述 |
---|---|
1 | BigDecimal(BigInteger val) 此建構函式用於將BigInteger轉換為BigDecimal。 |
2 | BigDecimal(BigInteger unscaledVal, int scale) 此建構函式用於將BigInteger無比例值和int比例轉換為BigDecimal。 |
3 | BigDecimal(BigInteger unscaledVal, int scale, MathContext mc) 此建構函式用於將BigInteger無比例值和int比例轉換為BigDecimal,並根據上下文設定進行舍入。 |
4 | BigDecimal(BigInteger val, MathContext mc) 此建構函式用於將BigInteger轉換為BigDecimal,並根據上下文設定進行舍入。 |
5 | BigDecimal(char[ ] in) 此建構函式用於將BigDecimal的字元陣列表示形式轉換為BigDecimal,接受與BigDecimal(String)建構函式相同的字元序列。 |
6 | BigDecimal(char[ ] in, int offset, int len) 此建構函式用於將BigDecimal的字元陣列表示形式轉換為BigDecimal,接受與BigDecimal(String)建構函式相同的字元序列,同時允許指定子陣列。 |
以下是一個示例:
示例
import java.math.BigDecimal; public class Demo { public static void main(String[] argv) throws Exception { BigDecimal val1 = new BigDecimal("37578975.8768"); BigDecimal val2 = new BigDecimal("62567878.9768"); BigDecimal val3 = new BigDecimal("72567874.3768"); System.out.println("Value 1 : "+val1); System.out.println("Value 2 : "+val2); val1 = val1.add(val2); System.out.println("Addition Operation = " + val1); val1 = val1.multiply(val2); System.out.println("Multiplication Operation = " + val1); val2 = val3.subtract(val2); System.out.println("Subtract Operation = " + val2); val2 = val3.divide(val2,BigDecimal.ROUND_UP); System.out.println("Division Operation = " + val2); } }
輸出
Value 1 : 37578975.8768 Value 2 : 62567878.9768 Addition Operation = 100146854.8536 Multiplication Operation = 6265976294387200.48179648 Subtract Operation = 9999995.4000 Division Operation = 7.2568
廣告