zoukankan      html  css  js  c++  java
  • Java BigDecimal类

    BigDecimal概述

    由于在运算的时候,float类型和double很容易丢失精度,所有为了能精确的表示、计算浮点数,Java提供了BIgDecimal。
    不可变的、任意精度的有符号的十进制数

    构造方法

    public BigDecimal(String val)

    成员方法

    public BigDecimal add(BigDecimal augend)
    public BigDecimal subtract(BigDecimal augend)
    public BigDecimal multiply(BigDecimal augend)
    public BigDecimal divide(BigDecimal augend)

    案例演示

    import java.math.BigDecimal;
    public class test {
    
    	public static void main(String[] args) {
    	
    		System.out.println(3.3-1.1);  //不精确
    		
    		BigDecimal b1=new BigDecimal(3.3);   //不推荐使用
    		BigDecimal b2=new BigDecimal(1.1);
    		System.out.println(b1.add(b2));     //+
    		System.out.println(b1.subtract(b2));    //-
    		System.out.println(b1.multiply(b2));   //*
    		//System.out.println(b1.divide(b2));     //(除)		
    		
    		BigDecimal bi1=new BigDecimal("3.3");   //推荐使用
    		BigDecimal bi2=new BigDecimal("1.1");
    		System.out.println(bi1.add(bi2));     //+
    		System.out.println(bi1.subtract(bi2));    //-
    		System.out.println(bi1.multiply(bi2));   //*
    		System.out.println(bi1.divide(bi2));     //(除)
    		
    		
    		BigDecimal bd1=BigDecimal.valueOf(3.3);   //推荐使用
    		BigDecimal bd2=BigDecimal.valueOf(1.1);
    		System.out.println(bd1.add(bd2));     //+
    		System.out.println(bd1.subtract(bd2));    //-
    		System.out.println(bd1.multiply(bd2));   //*
    		System.out.println(bd1.divide(bd2));     //(除)
    		
    	}
    	
    }
    
    输出:
    2.1999999999999997
    4.399999999999999911182158029987476766109466552734375
    2.199999999999999733546474089962430298328399658203125
    3.63000000000000009769962616701375978006148237175607926542869434427540653587129781953990459442138671875
    4.4
    2.2
    3.63
    3
    4.4
    2.2
    3.63
    3
    
    
    
  • 相关阅读:
    Linux系统介绍(二)文件系统结构
    为Docker Swarm添加调度策略
    Docker 三剑客之 Docker Swarm
    Hadoop中文文档
    hadoop 学习笔记:mapreduce框架详解
    Java进阶-- GUI
    ceph(8)--关于Ceph PGs
    今天在学习NTP时发现了2个网站
    开始学红帽的RHCE课堂有2次课了,要记下自己的学习经历
    Switch能否用string做参数
  • 原文地址:https://www.cnblogs.com/bbn0111/p/7506830.html
Copyright © 2011-2022 走看看