我是靠谱客的博主 震动睫毛,最近开发中收集的这篇文章主要介绍学习Java第二十二天--BigDecimal类,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Big Decimal类的作用、语法、用法、注意事项

    • 11.5 BigDecimal类
      • 11.5.1 为什么要用BigDecimal类
      • 11.5.2 BigDecimal语法
      • 11.5.3 利用BigDecimal可以进行数组运算

11.5 BigDecimal类

11.5.1 为什么要用BigDecimal类

public class Test{
public static void main(String[] args){
double d1= 1.0;
double d2 = 0.9;
Systom.out.println(d1-d2);
}
}

输出结果:

0.0999999999999999
  • 很多实际应用中需要精确运算,而double是近似值存储,不符合要求,需要借助BigDecimal。

11.5.2 BigDecimal语法

  • 位置:java.math包中;

作用:精确计算浮点数;

  • 创建方式:BigDecimal bd = new BigDecimal(“1.0”);
  • 方法:
    BigDecimal add(BigDecimal bd); //加
    BigDecimal subtract(BigDecimal bd); //减
    BigDecimal multiply(BigDecimal bd); //乘
    BigDecimal divide(BigDecimal bd); //除

11.5.3 利用BigDecimal可以进行数组运算

import java.math.BigDecimal;

public class TestBigDecimal {

	public static void main(String[] args) {
		
		BigDecimal bd1 = new BigDecimal("2.2");//需要以字符串的形式传参
		BigDecimal bd2 = new BigDecimal("1.2");
		BigDecimal bd3 = new BigDecimal("1.0");
		
		System.out.println(bd1);
		System.out.println(bd2);
		System.out.println(bd3);
		
		System.out.println(bd1.add(bd2));//加法
		System.out.println(bd1.subtract(bd3));//减法
		System.out.println(bd1.multiply(bd2));//乘法
		
		BigDecimal result = bd1.divide(bd2,2, BigDecimal.ROUND_HALF_UP);//除不尽的情况下,必须明确两个信息,中间是保留几位小数,后者是四舍五入
		System.out.println(result);
	}

}

输出结果:

2.2
1.2
1.0
3.4
1.2
2.64
1.83
  • 进行除法运算时,如果不能准确的计算出结果时需要指定保留的位数和取舍方式;

11.5.4 divide()方法
除法:BigDecimal(BigDecimal bd , int scal , RoundingMode mode)
参数scal:指定精确到小数点后几位;
参数mode:
指定小数部分的取舍模式,通常采用四舍五入的模式;
取值为BigDecimal.ROUND_HALF_UP;

最后

以上就是震动睫毛为你收集整理的学习Java第二十二天--BigDecimal类的全部内容,希望文章能够帮你解决学习Java第二十二天--BigDecimal类所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部