Math类
Math类是数学工具类,用于数学计算,构造方法是私有的,方法都是静态的,因此直接类名调用
static int abs(int a) 求参数绝对值
static double ceil(double a) 向上取整
static double floor(double a) 向下取整
static long round (double a ) 四舍五入
static int max(int a,int b) 求较大值
static int min(int a,int b) 求较大值
BidInteger
有时需要处理一些较大的数据,这些数据甚至超出了long的范围,这时我们使用BigInteger类对象处理数据,再转为long或int
构造
BigInteger(String val) val必须是数字形式的字符串
方式
BigInteger add(BigInteager val) 加法,返回BigINteger
BigInteger aubtract(BigInteager val) 减法
BigInteger multiply(BigInteager val) 乘法
BigInteger divide(BigInteager val) 除法
将BigInteger转为int,long
int intvalue();
long longvalue();
BigDecimal
用float,double运算存在精度损失问题,因此我们用BigDecimal类处理,后转为float与double
构造
BigDeciaml(String val) 传格式为数字形式的字符串
不要构造直接传float或double,会出问题,如果要传浮点数进行初始化可以调用方法
方法
BigDecimal add(BigDecimal val) 加法,返回BigDecimal
BigDecimal aubtract(BigDecimal val) 减法
BigDecimal multiply(BigDecimal val) 乘法
BigDecimal divide(BigDecimal val) 除法
static BigDecimal valueof(double val) 此方法初始化时可传入double数据,静态方法,类名直接调用
BigDecimal上面的除法除不尽会报错 ,因此我们要有一些处理方法
BigDecimal divide(BidDecimal divisor , //被除数
int scale, //指定保留几位小数
int roundingMode //取舍方式
)
取舍方式实参,直接BigDecimal类名调用
static int ROUND_UP 向上加一
static int ROUND_DOWN 直接舍去
static int Round_HALF_UP四舍五入
上面的除法方式比较过时,可以传第三个参数时传RoundingMode枚举的属性,而不是BigDecimal的属性
果实方法解决
取舍方式传参,RoundingMode类名调用
UP 向上加一
DOWN直接舍去
HALF_UP四舍五入