JAVA biginteger类bigdecimal类的使用示例学习

目录
  • biginteger类的使用
    • BigInteger案例代码
  • bigdecimal类的使用
    • BigDecimal的案例代码

biginteger类的使用

A:BigInteger的概述

可以让超过Integer范围内的数据进行运算

B:构造方法

public BigInteger(String val)

C:成员方法

* public BigInteger add(BigInteger val)

* public BigInteger subtract(BigInteger val)

* public BigInteger multiply(BigInteger val)

* public BigInteger divide(BigInteger val)

* public BigInteger[] divideAndRemainder(BigInteger val)

BigInteger案例代码

package com.fenxiangbe.regex;
import java.math.BigInteger;
public class Demo_BigInteger {
	/**
	 	A:BigInteger的概述
			* 可以让超过Integer范围内的数据进行运算
		* B:构造方法
			* public BigInteger(String val)
		* C:成员方法
			* public BigInteger add(BigInteger val)
			* public BigInteger subtract(BigInteger val)
			* public BigInteger multiply(BigInteger val)
			* public BigInteger divide(BigInteger val)
			* public BigInteger[] divideAndRemainder(BigInteger val)
	 */
	public static void main(String[] args) {
		BigInteger bi1 = new BigInteger("100");
		BigInteger bi2 = new BigInteger("2");
		System.out.println(bi1.add(bi2));//bi1+bi2=102
		System.out.println(bi1.subtract(bi2));//bi1-bi2=98
		System.out.println(bi1.multiply(bi2));//bi1*bi2=200
		System.out.println(bi1.divide(bi2));//bi1/bi2=50
		BigInteger[] arr = bi1.divideAndRemainder(bi2);// bi1/bi2=50....0
		for (int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
	}
}

bigdecimal类的使用

A:BigDecimal的概述

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

B:构造方法

* public BigDecimal(String val)

C:成员方法

* public BigDecimal add(BigDecimal augend)

* public BigDecimal subtract(BigDecimal subtrahend)

* public BigDecimal multiply(BigDecimal multiplicand)

* public BigDecimal divide(BigDecimal divisor)

D:案例演示

* BigDecimal类的构造方法和成员方法使用

BigDecimal的案例代码

package com.fenxiangbe.regex;
import java.math.BigDecimal;
public class Demo_BigDecimal {
	/**
	 	* A:BigDecimal的概述
			* 由于在运算的时候,float类型和double很容易丢失精度,演示案例。
			* 所以,为了能精确的表示、计算浮点数,Java提供了BigDecimal
			* 不可变的、任意精度的有符号十进制数。
		* B:构造方法
			* public BigDecimal(String val)
		* C:成员方法
			* public BigDecimal add(BigDecimal augend)
			* public BigDecimal subtract(BigDecimal subtrahend)
			* public BigDecimal multiply(BigDecimal multiplicand)
			* public BigDecimal divide(BigDecimal divisor)
		* D:案例演示
			* BigDecimal类的构造方法和成员方法使用
	 */
	public static void main(String[] args) {
		BigDecimal bd1 = new BigDecimal(2.0);
		BigDecimal bd2 = new BigDecimal(1.1);
		System.out.println(bd1.subtract(bd2));//不推荐 不够精确,2.0-1.1=0.9,但是运行结果却是0.899999999999999911182158029987476766109466552734375
		BigDecimal bd3 = new BigDecimal("2.0");
		BigDecimal bd4 = new BigDecimal("1.1");
		System.err.println(bd3.subtract(bd4));//推荐,转换成字符串进行运算 就能精确算出值2.0-1.1=0.9
		//通过value of方法也可以运算
		BigDecimal bd5 = BigDecimal.valueOf(2.0);
		BigDecimal bd6 = BigDecimal.valueOf(1.1);
		System.out.println(bd5.subtract(bd6));//推荐 ,用这两种方法都可以
	}
}

以上就是JAVA biginteger类bigdecimal类的使用示例学习的详细内容,更多关于JAVA biginteger bigdecimal类的资料请关注我们其它相关文章!

(0)

相关推荐

  • Java你不了解的大数型BigInteger与BigDecimal类

    BigInteger类 在Java当中,是有许多数字要进行处理的类,比如Integer类,但是Integer类它也是有上限的.它的最大值就是到2^31-1. 如果我们此时想要表示更大的数,那就用Integer是无法表示的了,所在在Java当中提供了BigInteger类. BigInteger类支持的数字可以说是无限大的,且支持任意精度的整数,也就是说他可以准确的表示任意数值而不会产生丢失的. 在这里也强调一下,因为传入的数型是字符型,所以在做运算的时候,不能使用 + - * / 对应的就是使用

  • Java Big Number操作BigInteger及BigDecimal类详解

    目录 BigInteger类 构造函数 类方法 BigDecimal类 BigInteger类 java.math.BigInteger 类的使用场景是大整数操作.它提供类似所有Java的基本整数运算符和java.lang.Math中的所有相关的方法的操作,如+.-.*./.%.&.|.mod.>>.<<,以及min().max()等等. 只不过它操作的整数都是极其大的,为科学计算提供了很大的便利.比如下面的代码就是计算20000000000000000000 * 3000

  • JAVA基本类型包装类 BigDecimal BigInteger 的使用

    目录 1.了解包装类 2.Integer 3.Double 4.BigDecimal 5.BigInteger 1.了解包装类 Java 中预定义了八种基本数据类型,包括:byte,int,long,double,float,boolean,char,short.基本类型与对象类型最大的不同点在于,基本类型基于数值,对象类型基于引用. 例如有一个方法 f() ,它的参数分别是对象类型 和 基本类型: void f(Object obj){ //参数引用类型,保存的是内存地址 } f(123){

  • Java BigInteger类,BigDecimal类,Date类,DateFormat类及Calendar类用法示例

    本文实例讲述了Java BigInteger类,BigDecimal类,Date类,DateFormat类及Calendar类用法.分享给大家供大家参考,具体如下: BigInteger类 发 package cn.itcast_01; import java.math.BigInteger; /* * BigInteger:可以让超过Integer范围内的数据进行运算 * * 构造方法: * BigInteger(String val) */ public class BigIntegerDe

  • JAVA biginteger类bigdecimal类的使用示例学习

    目录 biginteger类的使用 BigInteger案例代码 bigdecimal类的使用 BigDecimal的案例代码 biginteger类的使用 A:BigInteger的概述 可以让超过Integer范围内的数据进行运算 B:构造方法 public BigInteger(String val) C:成员方法 * public BigInteger add(BigInteger val) * public BigInteger subtract(BigInteger val) * p

  • Java精确计算BigDecimal类详解

    引言 float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的.然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合.但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦. 先看下面代码 public static void main(String[] args) { System.out.println(0.2 + 0.1); System.out.printl

  • Java中BigDecimal类与int、Integer使用总结

    前言 我们都知道浮点型变量在进行计算的时候会出现丢失精度的问题.如下一段代码: System.out.println(0.05 + 0.01); System.out.println(1.0 - 0.42); System.out.println(4.015 * 100); System.out.println(123.3 / 100); 输出: 0.060000000000000005 0.5800000000000001 401.49999999999994 1.23299999999999

  • Java踩坑记录之BigDecimal类

    前言 在java.math包中提供了对大数字的操作类,用于进行高精确计算,如BigInteger,BigDecimal类.而平常我们开发中使用最多的float和double只能适用于一般的科学和工程计算,如果要在比较精确的计算方面如货币,那么使用float和double会相应的丢失精度,因此用于精密计算大数字的类BigDecimal就必不可少了.所以BigDecimal适合商业计算场景,用来对超过16位有效位的数进行精确的运算.但是BigDecimal的使用并不像float和double那样,使

  • Java中BigDecimal类的add()的使用详解

    Java中的BigDecimal类的使用: 使用Java中的BigDecimal可以进行精确的计算,但是在使用BigDecimal时我们需要注意它的add()方法,使用它自身的add( )方法并不会改变它原始的值,因为初始化BigDecimal是创建一个了个对象,使用add()方法时也等于是创建了一个对象,若要保存这个对象需要再创建一个对象. 句法: public BigDecimal add(BigDecimal val); public BigDecimal add(BigDecimal v

  • Java BigDecimal类的一般使用、BigDecimal转double方式

    目录 BigDecimal类的一般使用.BigDecimal转double BigDecimal大据类 BigDecimal类 创建一个BigDecimal对象 方法声明 BigDecimal转double BigDecimal , double 转换方式 BigDecimal类的一般使用.BigDecimal转double BigDecimal大据类 浮点型运算的时候直接 加减乘除时可能会出现数据失真(精度问题). BigDecimal可以解决浮点型运算数据失真的问题.         dou

  • Java Math类、Random类、System类及BigDecimal类用法示例

    本文实例讲述了Java Math类.Random类.System类及BigDecimal类用法.分享给大家供大家参考,具体如下: Math类 Math的方法 package cn.itcast_01; /* * Math:用于数学运算的类. * 成员变量: * public static final double PI * public static final double E * 成员方法: * public static int abs(int a):绝对值 * public static

随机推荐