您的位置:首页 > 编程语言 > Java开发

Java BigDecimal进行精确计算

2017-01-26 10:57 441 查看
前言

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+"\t");
}


结果:输出1~10.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: