前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JAVA之学习biginteger类的使用和bigdecimal类的使用

JAVA之学习biginteger类的使用和bigdecimal类的使用

作者头像
吾爱乐享
发布2018-07-13 11:27:39
7200
发布2018-07-13 11:27:39
举报
文章被收录于专栏:吾爱乐享

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案例代码

代码语言:javascript
复制
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的案例代码

代码语言:javascript
复制
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));//推荐 ,用这两种方法都可以
		
	}

}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-09-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • biginteger类的使用
    • BigInteger案例代码
    • bigdecimal类的使用
      • BigDecimal的案例代码
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档