数学类

Posted penguin1024

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数学类相关的知识,希望对你有一定的参考价值。

一、java.math.BigDecimal类  

1. 概述

在Java语言中,描述浮点数使用float 类型 和 double类型。

但是float 类型 和 double类型都会有误差,为了实现精确计算。可以使用java.math.BigDecimal类 加以描述。

 

2. 常用方法 (和差积商)

构造方法:     BigDecimal(String val)                            -根据参数指定的字符串来构造对象

BigDecimal     add(BigDecimal  augend)                       -返回 计算调用对象 和 参数对象的

BigDecimal     subtract(BigDecimal  subtrahend)          -返回 计算调用对象 和 参数对象的

BigDecimal     multiply(BigDecimal  multiplicand         -返回 计算调用对象 和 参数对象的

BigDecimal     divide(BigDecimal  divisor)                     --返回 计算调用对象 和 参数对象的

 

代码演示:

 

import java.math.BigDecimal;

public class BigDecimalTest {

    public static void main(String[] args) {
        
        // 创建两个 BigDecimal类型的对象
        BigDecimal bd1 = new BigDecimal("5.2");
        BigDecimal bd2 = new BigDecimal("0.4");
        
        // 进行加法运算
        BigDecimal result = bd1.add(bd2);
        System.out.println("bd1 + bd2 = "+result);
        
        // 进行减法运算
        result = bd1.subtract(bd2);
        System.out.println("bd1 - bd2 = "+result);
        
        // 进行乘法运算
        result = bd1.multiply(bd2);
        System.out.println("bd1 * bd2 = "+result);
        
        // 进行除法运算
        result = bd1.divide(bd2);
        System.out.println("bd1 / bd2 = "+result);
        
    }

}

 

 

 

结果:

bd1 + bd2 = 5.6
bd1 - bd2 = 4.8
bd1 * bd2 = 2.08
bd1 / bd2 = 13

 

 

 

 

 

 


 

二、java.math.BigInteger类

 

1. 概述

在Java语言中描述整数首选int类型,若int类型范围不够用则使用long类型。

若long类型还是不够用,则使用 java.math.BigInteger类 建议描述。

 

2. 常用方法

 代码演示

import java.math.BigDecimal;
import java.math.BigInteger;

public class BigIntegerTest {

    public static void main(String[] args) {
        
        // 创建两个BigInteger对象
        BigInteger bi1 = new BigInteger("52");
        BigInteger bi2 = new BigInteger("13");
        
        // 
        // 进行加法运算
        BigInteger  result = bi1.add(bi2);
        System.out.println("bi1 + bi2 = "+result);
                
        // 进行减法运算
        result = bi1.subtract(bi2);
        System.out.println("bi1 - bi2 = "+result);
                
        // 进行乘法运算
        result = bi1.multiply(bi2);
        System.out.println("bi1 * bi2 = "+result);
                
        // 进行除法运算
        result = bi1.divide(bi2);
        System.out.println("bi1 / bi2 = "+result);

    }

}

 

运行结果:

bi1 + bi2 = 65
bi1 - bi2 = 39
bi1 * bi2 = 676
bi1 / bi2 = 4

 

 

 


 

 

 

以上是关于数学类的主要内容,如果未能解决你的问题,请参考以下文章

数学上相同的变量 - 一个破坏着色器而不是

elasticsearch代码片段,及工具类SearchEsUtil.java

Android 逆向类加载器 ClassLoader ( 类加载器源码简介 | BaseDexClassLoader | DexClassLoader | PathClassLoader )(代码片段

为啥片段类应该是公开的?

片段内部静态类和gradle问题

从片段类中的对话框添加项目到recyclerview。