#研究JAVAAPI系列--Number类+BigDecimal类#
16lz
2021-01-22
Number类,抽象类,作用是规定了其子类必须提供数值转换为byte ,float ,short , int ,long ,double五种类型的方法。
BigDecimal类,一个用于处理超过16位有效数字的类,在商业上比较常用,不同于传统的+-*/,bigdecimal专有方法如下:
package MathAPI; import java.math.BigDecimal; import java.math.MathContext; public class BigDecimalAPI { //测试:绝对值和转换int public void test1(){ int a = -1; System.out.println("原本的A:"+a); int b = new BigDecimal(a).abs().intValue(); System.out.println("绝对值的A:"+b); } //测试:add方法 public void test2(){ int val1 = 100; BigDecimal bd1 = new BigDecimal(val1); System.out.println("val1的值:"+val1); int val2 = 50; BigDecimal bd2 = new BigDecimal(val2); System.out.println("val2的值:"+val2); BigDecimal sum = bd1.add(bd2); System.out.println("add后的和为:"+sum); } //测试:舍入模式+负值+幂值+余值+精度数 public void test3(){ BigDecimal bd = new BigDecimal(3.1,MathContext.DECIMAL32); System.out.println("原来的值:"+bd); System.out.println("-----------------"); System.out.println("负数的值:"+bd.negate()); System.out.println("2次幂值:"+bd.pow(2)); System.out.println("返回余数的值"+bd.remainder(new BigDecimal(2))); System.out.println("移动小数点:"+bd.movePointRight(3)); System.out.println("保留小数点后3位:"+bd.setScale(3)); System.out.println("返回当前值得符号:"+bd.signum()); System.out.println("移除尾部所有零:"+bd.stripTrailingZeros()); System.out.println("返回值的精度:"+bd.precision()); } //去指数的方法就省略了感觉很少用,要用再查,toPlainString() public static void main(String[] args) { BigDecimalAPI bda = new BigDecimalAPI(); System.out.println("******测试1:*******"); bda.test1(); System.out.println("******测试2:*******"); bda.test2(); System.out.println("******测试3:*******"); bda.test3(); } }