Java从零开始学二十九(大数操作(BigIntger、BigDecimal)
一、BigInteger

|
No.
|
方法
|
类型
|
描述
|
|
1
|
public BigInteger(String val)
|
构造
|
将一个字符串变为BigInteger类型的数据
|
|
2
|
public BigInteger add(BigInteger val)
|
普通
|
加法
|
|
3
|
public BigInteger subtract(BigInteger val)
|
普通
|
减法
|
|
4
|
public BigInteger multiply(BigInteger val)
|
普通
|
乘法
|
|
5
|
public BigInteger divide(BigInteger val)
|
普通
|
除法
|
|
6
|
public BigInteger max(BigInteger val)
|
普通
|
返回两个大数字中的最大值
|
|
7
|
public BigInteger min(BigInteger val)
|
普通
|
返回两个大数字中的最小值
|
|
8
|
public BigInteger[] divideAndRemainder(BigInteger val)
|
普通
|
除法操作,数组的第一个元素为除法的商,第二个元素为除法的余数
|
二、使用BigInteger操作大整数
package com.pb.demo1;
import java.math.BigInteger;
public class BigIntegerDemo {
public static void main(String[] args) {
BigInteger bi1=new BigInteger("123456789");
BigInteger bi2=new BigInteger("987654321");
System.out.println("加法操作:" + bi2.add(bi1)); // 加法操作
System.out.println("减法操作:" + bi2.subtract(bi1)); // 减法操作
System.out.println("乘法操作:" + bi2.multiply(bi1)); // 乘法操作
System.out.println("除法操作:" + bi2.divide(bi1)); // 除法操作
System.out.println("最大数:" + bi2.max(bi1)); // 求出最大数
System.out.println("最小数:" + bi2.min(bi1)); // 求出最小数
BigInteger result[] = bi2.divideAndRemainder(bi1) ; // 除法操作
System.out.println("商是:" + result[0] +
";余数是:" + result[1]);
}
}
结果:
加法操作:1111111110
减法操作:864197532
乘法操作:121932631112635269
除法操作:8
最大数:987654321
最小数:123456789
商是:8;余数是:9
三、使用BigDecimal指定小数的保留位数
|
No.
|
方法
|
类型
|
描述
|
|
1
|
public BigDecimal(double val)
|
构造
|
将double表示形式转换为BigDecimal
|
|
2
|
public BigDecimal(int val)
|
构造
|
将int表示形式转换为BigDecimal
|
|
3
|
public BigDecimal(String val)
|
构造
|
将字符串表示形式转换为BigDecimal
|
|
4
|
public BigDecimal add(BigDecimal augend)
|
普通
|
加法
|
|
5
|
public BigDecimal subtract(BigDecimal subtrahend)
|
普通
|
减法
|
|
6
|
public BigDecimal multiply(BigDecimal multiplicand)
|
普通
|
乘法
|
|
7
|
public BigDecimal divide(BigDecimal divisor)
|
普通
|
除法
|
Java从零开始学二十九(大数操作(BigIntger、BigDecimal)的更多相关文章
- Java从零开始学三十九(对象序列化)
一.序列化 将对象的状态存储到特定存储介质中的过程 对象序列化,就是把一个对象变为二进制的数据流的一种方法,通过对象序列化可以方便的实现对象的传输或存储. 序列化保存对象的“全景图”,构建对象的“ ...
- Java从零开始学二十四(集合工具类Collections)
一.Collections简介 在集合的应用开发中,集合的若干接口和若干个子类是最最常使用的,但是在JDK中提供了一种集合操作的工具类 —— Collections,可以直接通过此类方便的操作集合 二 ...
- Java从零开始学二十(集合简介)
一.为什么需要集合框架 数组的长度是固定的,但是如果写程序时并不知道程序运行时会需要多少对象.或者需要更复杂的方式存储对象,---那么,可以使用JAVA集合框架,来解决这类问题 二.集合框架主要接口 ...
- Java从零开始学二十八(Math类和Random类)
一.Math概述 提供了常用的数学运算方法和两个静态常量E(自然对数的底数)和PI(圆周率) 二.常用方法 package com.pb.demo1; public class MathTest { ...
- Java从零开始学二十六(包装类)
一.包装类 包装类是将基本类型封装到一个类中.也就是将基本数据类型包装成一个类类型. java程序设计为每一种基本类型都提供了一个包装类.这些包装类就在java.lang包中.有8个包装类 二.包装类 ...
- Java从零开始学二十二(集合Set接口)
一.Set接口的定义 Set接口也是Collection接口的子接口,但是与Collection或List接口不同的是,Set接口中不能加入重复的元素 Set接口的主要方法与Collection是一致 ...
- Java从零开始学二十五(枚举定义和简单使用)
一.枚举 枚举是指由一组固定的常量组成的类型,表示特定的数据集合,只是在这个数据集合定义时,所有可能的值都是已知的. 枚举常量的名称建议大写. 枚举常量就是枚举的静态字段,枚举常量之间使用逗号隔开. ...
- Java从零开始学三十二(正则表达式)
一.为什么要有正则 正则表达式可以方便的对数据进行匹配,可以执行更加复杂的字符串验证.拆份.替换功能. 例如:现在要求判断一个字符串是否由数字组成,则可以有以下的两种做法: 不使用正则完成 使用正则完 ...
- Java从零开始学四十二(DOM解析XML)
一.DOM解析XML xml文件 favorite.xml <?xml version="1.0" encoding="UTF-8" standalone ...
随机推荐
- php 获取所有常量
有的时候想得到某个完整路径,看看都定义了哪些常量,可以这样做,即把所有的常量都打印出来,然后看看有没有自己想要的,感觉挺方便 官方给的原型: array get_defined_constants ( ...
- Jmeter+JDK的安装学习笔记
第一步:首先从jmeter的官网下载jmeter,目前最新版本为3.3,支持的JDK最高为1.8 下载地址: jmeter:http://jmeter.apache.org/download_jmet ...
- ESB的几个基本概念
京-星之泪: 请教一个问题:esb中路由和管道对的概念应该怎么理解,各自有什么用途,他们之间的关系 北京-kimmking: transport endpoint inbound outboun ...
- golang 关键字以及简单用法说明
golang只有25个关键字 package: 定义包名, go中任何一个文件必须有一个package, 一般而言,package的定义和文件所属文件夹一致, 并且main函数所在文件的package ...
- Adding an instance to a MEF container
How can you add an already created instance to a MEF container/cataloge to use when resolving Import ...
- 关于WEB集群中文件服务器的讨论
原文地址: http://blog.itpub.net/29806344/viewspace-1364778/ 在WEB集群中一般都要上传和删除图片.小规模的时候,图片放在本地,再通过同步方式来保持一 ...
- pgm转jpg
clc;clear all;for i=1:40for j=1:10image=imread(strcat('N:\FACE\orl_faces\s',...int2str(i),'\',int2st ...
- sscanf,sprintf用法
#include<string.h> #include<stdio.h> int main() { ],sztime1[],sztime2[]; sscanf("12 ...
- 近看到的机器学习、NLP相关书单
书单再多,不去读,也是白搭~~ 水木上的machine learning书单:http://www.newsmth.net/bbscon.php?bid=5&id=34859&ftyp ...
- Android触摸事件
简单介绍: 做了一个语音发送UI的小demo. 按下显示语音窗体,依据音量调节UI音量显示,上划至窗体显示取消发送. 原理: 1:获取什么事件来运行操作: 给Button加入setOnTouchLis ...