API--15--Math BigInteger 和 BigDecimal

Math 类

在这里插入图片描述

案例:

import java.lang.*;

public class TestMath {
	public static void main(String[] args) {
		System.out.println(Math.abs(-2.0)); //绝对值
		System.out.println(Math.sqrt(64.0));  //立方根
		System.out.println(Math.max(56,78)); //两者之间较大的
		System.out.println(Math.min(56,78)); //两者之间较小的
		System.out.println(Math.random());  //随机数
		System.out.println(Math.pow(2,10));  //幂
		System.out.println(Math.ceil(18.36));  //向上取整
		System.out.println(Math.floor(18.66));  //向下取整
		System.out.println(Math.round(11.5));  //四舍五入
		System.out.println(Math.round(-11.5));  //四舍五入
    }
}

绝对值:2.0
立方根:8.0
两者之间较大的:78
两者之间较小的:56
随机数:0.8657276690731889
幂:1024.0
向上取整:19.0
向下取整:18.0
四舍五入:12
四舍五入:-11

Math类的round方法

它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整
所以,Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11。

其他方法:

sin(double a) 返回角的三角正弦。
cos(double a) 返回角的三角余弦。
tan(double a) 返回角的三角正切。
log(double a) 返回 double 值的自然对数(底数是 e)。
log10(double a) 返回 double 值的底数为 10 的对数。
acos(double a) 返回一个值的反余弦;返回的角度范围在 0.0 到 pi 之间。
asin(double a) 返回一个值的反正弦;返回的角度范围在 -pi/2 到 pi/2 之间。
atan(double a) 返回一个值的反正切;返回的角度范围在 -pi/2 到 pi/2 之间。
atan2(double y, double x) 将矩形坐标 (x, y) 转换成极坐标 (r, theta),返回所得角 theta。

BigInteger 和 BigDecimal

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

概述

BigDecimal:常用来解决精确的浮点数运算。

BigInteger:常用来解决超大的整数运算。

常用方法:

  • add(BigDecimal bd): 做加法运算
  • substract(BigDecimal bd) : 做减法运算
  • multiply(BigDecimal bd) : 做乘法运算
  • divide(BigDecimal bd) : 做除法运算

  • divide(BigDecimal bd,保留位数,舍入方式):除不尽时使用
  • setScale(保留位数,舍入方式):同上
  • pow(int n):求数据的几次幂

案例:

public class test04 {
    public static void main(String[] args) {
        BigInteger bi = new BigInteger("1243324112234324324325235245346567657653");
        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));
        System.out.println(bd.divide(bd2, 25, BigDecimal.ROUND_HALF_UP));

    }
}

在这里插入图片描述

如果这个数除不尽

public class test05 {
    public static void main(String[] args) {
        BigInteger bi = new BigInteger("1243324112234324324325235245346567657653");
        BigDecimal bd = new BigDecimal("12435.351");
        BigDecimal bd2 = new BigDecimal("11");

         System.out.println(bd.divide(bd2));

    }
}

报错 :java.lang.ArithmeticException:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值