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.

  • 相关阅读:
    C# 操作XML
    js把字符串(yyyymmdd)格式转换成日期格式(yyyy-mm-dd)
    解析GZIP压缩的网页
    访问修饰符
    c# 多态中 Virtual与override的作用
    C# 中 ref 和out 的区别
    C# .net 中文手册地址
    js获取URL参数
    几种Css前端框架资料
    android 检查能否上网
  • 原文地址:https://www.cnblogs.com/zjfjava/p/6351360.html
Copyright © 2011-2022 走看看