笔记:
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进1ROUND_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)); }}