zoukankan      html  css  js  c++  java
  • Java常用数学类和BigDecimal

    笔记:

     Math类
     * java.lang.Math提供了一系列静态方法用于科学计算;其方法的参数和返回值类型一般为double型。
     * abs     绝对值
     * acos,asin,atan,cos,sin,tan  三角函数
     * sqrt     平方根
     * pow(double a,doble b)     a的b次幂
     * log    自然对数
     * exp    e为底指数
     * max(double a,double b)
     * min(double a,double b)
     * random()      返回0.0到1.0的随机数
     * long round(double a)     double型数据a转换为long型(四舍五入)
     * toDegrees(double angrad)     弧度—>角度
     * toRadians(double angdeg)     角度—>弧度
     * ------------------------------------------------------
    BigDecimal类
    一般的Float类和Double类可以用来做科学计算或工程计算,但在商业计算中,要求数字精度比较高,故用到java.math.BigDecimal类。BigDecimal类支持任何精度的定点数。
    构造器
    public BigDecimal(double val)
    public BigDecimal(String val)
    常用方法
    public BigDecimal add(BigDecimal augend)
    public BigDecimal subtract(BigDecimal subtrahend)
    public BigDecimal multiply(BigDecimal multiplicand)
    public BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)
    //Scale 表示保留的位数,
    在roundingMode中,ROUND_HALF_UP表示向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为向上舍入的舍入模式。
      ROUND_HALF_DOWN , 舍弃部分> 0.5进1
    ROUND_HALF_EVEN    银行家舍入法 ,向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。
    ---------------------------------------------------------------------
    public class Test_Math {
        @Test
        public void testBigInteger(){
            BigInteger bi = new BigInteger("12433241123");
            BigDecimal bd = new BigDecimal("12435.351");
            BigDecimal bd2 = new BigDecimal("11");
            System.out.println(bi);
    //System.out.println(bd.divide(bd2));
            System.out.println(bd.divide(bd2,BigDecimal.ROUND_HALF_UP));  //>=0.5进1
            System.out.println(bd.divide(bd2,15,BigDecimal.ROUND_HALF_DOWN)); //>0.5进1
            System.out.println(bd.divide(bd2,15,BigDecimal.ROUND_HALF_EVEN));
        }
    
    }
  • 相关阅读:
    致 CODING 用户的元宵问候
    持续集成之理论篇
    基于 CODING 的 Spring Boot 持续集成项目
    使用 CODING 进行 Hexo 项目的持续集成
    使用 CODING 进行 Spring Boot 项目的集成
    三种前端模块化规范
    XSS和CSRF
    小问题填坑,关于obj.x和obj["x"]
    说一个闭包在实际开发中的应用
    关于return的分号自动插入问题
  • 原文地址:https://www.cnblogs.com/zhazhaacmer/p/9821758.html
Copyright © 2011-2022 走看看