06、BigDecima

BigDecimal 类是一个算术运算类,它可以给浮点类型的运算控制算术精度,但是要注意在创建对象是入参字符串类型的数据

记得导包 java.math.BigDecimal

 import java.math.BigDecimal;

/**
 * @author Lantzrung
 * @date 2022年7月18日
 * @Description
 */

public class BigDecimalDemo {

	public static void main(String[] args) {
               double item1 = 12.58794654;
                float item2 = 3.582145f;
		// 9.00580154
		// 9.00580657112793
		System.out.println(item1 - item2);

		// 使用BigDecimal 创建对象时要注意提供字符串
		// BigDecimal b1 = new BigDecimal(item1);
		// BigDecimal b2 = new BigDecimal(item2);
		BigDecimal b1 = new BigDecimal("12.58794654");
		// BigDecimal b2 = new BigDecimal("3.582145f");//float类型不兼容double 
        // java.lang.NumberFormatException
		BigDecimal b2 = new BigDecimal("3.582145");// 9.00580154
  
		// 算术
		BigDecimal res1 = b1.subtract(b2);// 减法操作
		System.out.println(res1.doubleValue());
		BigDecimal res2 = b1.add(b2);// 加法操作
		System.out.println(res2.doubleValue());
		BigDecimal res3 = b1.multiply(b2);// 乘法操作
		System.out.println(res3.doubleValue());
		BigDecimal res4 = b1.divide(b2);// 除法操作
		System.out.println(res4.doubleValue());
                //除法操作一定要注意被除数的小数点不能太多,要是太多就用下列方法进行转换
                /*
  		         * public static double div(double v1,double v2){
                 * BigDecimal b1 = BigDecimal.valueOf(v1); 
                 * BigDecimal b2 = BigDecimal.valueOf(v2);
                 * returnb1.divide
                 * (b2,DEE_DIV_SCALE,BigDecimal.ROUND_HALF_UP).doubleValue(); 
                 * }
		         */
        int item1 = 1223;//hasCode返回值为:37913
		double item2 = 1223;//hasCode返回值为:37913
		double item3 = 1223.69;//hasCode返回值为:37913

		// BigDecimal b1 = new BigDecimal(item1);
		// BigDecimal b1 = new BigDecimal("1233");//hasCode返回值为:38223
		// BigDecimal b1 = new BigDecimal(1223);//hasCode返回值为:37913
		BigDecimal b3 = new BigDecimal(item2);// hasCode返回值为:37913

		// b1.hashCode();//无法直接调用输出结果
		// System.out.println("hasCode返回值为:"+b1.hashCode());
		// System.out.println("hasCode返回值为:" + b2.hashCode());
		 System.out.println("hasCode返回值为:" + b3.hashCode());

		//System.out.println(BigDecimal.hasCode());//错误:输出的方式
    }
}
           

//加法的操作

System.out.println("BigDecimal -> 0.05+0.01="+(f1.add(f2)));

//减法法的操作

System.out.println("BigDecimal -> 0.05-0.01="+(f1.subtract(f2)));

//乘法的操作

System.out.println("BigDecimal -> 0.05*0.01="+(f1.multiply(f2)));

//除法的操作

System.out.println("BigDecimal -> 0.05/0.01="+(f1.divide(f2)));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lantzruk

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值