zoukankan      html  css  js  c++  java
  • Java BigDecimal进行精确计算

       前言

        float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦。

    1. BigDecimal的四则运算

    package com.homework;
    import java.math.*;
    public class BigDecimalExer {
        public static void main(String[] args) {
            //定义两个BigDecimal对象
            BigDecimal bg1,bg2;
            bg1=new BigDecimal("0.06");
            bg2=new BigDecimal("0.01");
            
            BigDecimal num=null;
            
            //加法
            num=bg1.add(bg2);
            System.out.println("和是"+num);
            //减法
            num=bg1.subtract(bg2);
            System.out.println("差是"+num);
            //乘法
            num=bg1.multiply(bg2);
            System.out.println("积是"+num);
            //除法
            num=bg1.divide(bg2);
            System.out.println("商是"+num);
        }
        
        

    结果:

    2.BigDecimal的比较大小

    /*比较大小*/
            
            BigDecimal num1,num2,num3;
            num1=new BigDecimal("1");
            num2=new BigDecimal("2");
            num3=new BigDecimal("3");
            
            //用作比较的数
            BigDecimal number=new BigDecimal("2"); 
            
            System.out.println(num1.compareTo(number));//小于时,返回 -1
            System.out.println(num2.compareTo(number));//等于时,返回  0
            System.out.println(num3.compareTo(number));//大于时,返回  1

    结果:

    3.利用BigDecimal写for循环

    for(BigDecimal i=new BigDecimal("0");i.compareTo(new BigDecimal("10"))!=1;i=i.add(new BigDecimal("1")))
    { System.out.println(i
    +" "); }

    结果:输出1~10.

  • 相关阅读:
    sqlserver2005转换到2000
    vs2008的注册
    给联想K46装系统
    两个调片技巧
    mapx集合的问题
    audio player播放多文件
    JQuery查询ul嵌套结构中当前所处的位置
    .Net中使用带UI的OCX的方法
    U盘启动和量产
    winrar的图标
  • 原文地址:https://www.cnblogs.com/zjfjava/p/6351360.html
Copyright © 2011-2022 走看看