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 ...
随机推荐
- mysql另类分页方法
mysql> limit ,;select found_rows(); +----+-----------------+---------+--------+ | id | rankName | ...
- Linux 内核编译步骤及配置详解
前言 Linux内核是操作系统的核心,也是操作系统最基本的部分. Linux内核的体积结构是单内核的.但是他充分采用了微内核的设计思想.使得虽然是单内核.但工作在模块化的方式下.并且这个模块可以 ...
- Shell中EOF内容转义
1.在$符号前面加反斜杠,如: cat > test.sh <<EOF \$test EOF 如果不加,将转成实际的值. 2.给EOF加个双引号,如: cat > test.s ...
- [JAVA] JAVA 类路径
Java 类路径 类路径是所有包含类文件的路径的集合. 类路径中的目录和归档文件是搜寻类的起始点. 虚拟机搜寻类 搜寻jre/lib和jre/lib/ext目录中归档文件中所存放的系统类文件 搜寻再从 ...
- php 可以动态的new一个变量类名
<?PHPheader("content-type:text/html; charset=utf-8");//echo ucfirst('a b'); class Stude ...
- 垃圾收集简介 - GC参考手册
http://blog.csdn.net/column/details/14851.html
- blkblock工具1
http://www.ibm.com/developerworks/cn/linux/l-cn-perf1/ http://blog.chinaunix.net/uid-24774106-id-409 ...
- MVC之Ajax如影随行
一.Ajax的前世今生 我一直觉得google是一家牛逼的公司,为什么这样说呢?<舌尖上的中国>大家都看了,那些美食估计你是百看不厌,但是里边我觉得其实也有这样的一个哲学:关于食材,对于种 ...
- datagrid在MVC中的运用03-选择单行或多行
本文体验datagrid显示单行或多行内容.分别用到了datagrid的getSelected,getSelections方法. Html部分 <a href="#" cla ...
- 如何判断某版本的.NET Framework是否安装
1..NET Framework .NET Framework2.0 键:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\N ...