Java大数类介绍
来源:互联网 发布:时时彩毒胆计划软件 编辑:程序博客网 时间:2024/06/14 03:35
java能处理大数的类有两个高精度大整数BigInteger 和高精度浮点数BigDecimal,这两个类位于java.math包内,要使用它们必须在类前面引用该包:import java.math.BigInteger;和import java.math.BigDecimal;或者import java.math.*;
下面从几个方面对BigInteger和BigDecima做一个简单的比较:
一.常量
BigInteger:ONE,ZERO,TEN分别代表1,0,10.
其定义类似于:public static final BigInteger ONE = valueOf(1);
BigDecimal:除了以上三个常量外还有8个关于舍入的常量:ROUND_UP,ROUND_DOWN,ROUND_CEILING,ROUND_FLOOR,ROUND_HALF_UP,
ROUND_HALF_DOWN,ROUND_HALF_EVEN,ROUND_UNNECESSARY,具体舍入模式,请查阅Java API。
二.声明赋值
BigInteger:BigInteger bi = new BigInteger(byte[] val)
;
new BigInteger(int signum, byte[] magnitude)
;
new BigInteger(int bitLength, int certainty,Random rnd)
;
new BigInteger(int numBits,Random rnd)
;
new BigInteger(String val)
;
new BigInteger(String val, int radix)
;
构造函数只能接受这几种类型,,比如这样定义就是错误的:BigInteger bi = new BigInteger(100);
或:BigInteger bi = BigInteger.valueOf(100);
数组定义与基本类型类似.
BigDecimal:BigDecimal bd = new BigDecimal(100);或:BigDecimal bd = BigDecimal.valueOf(100);
BigDecimal的构造函数比BigInteger多一些,感觉用起来更方便些
顺便说一下,java.util包中的Scanner类实现了nextBigInteger()和nextBigDecimal()方法,可以用来读入控制台输入的BigInteger和BigDecimal.给个例子:
三.相关函数
add(),subtract(),pow(),abs(),multiply()等等这一类就不介绍了,神奇的是
probablePrime(int bitLength, Random rnd)
, nextProbablePrime()这一类居然和素数扯得上关系。
BigDecimal关于格式控制的方法多了几个,这对处理各种不同格式的输出是很有用的。
stripTraillingZeros():把不影响数值大小的0全去掉;
1.50 ->1.5;
1.00->1;
这功能很有用吧。
大家都知道JAVA的类一般都要带toString这个方法的,BigDecimal则有toString,toPlainString和toEngineeringString三种表示成字符串的方法,
下面是这三种方法各自的特点:
toString: using scientific notation if an exponent is needed;
toEngineeringString:using engineering notation if an exponent is needed.
toPlainString:without an exponent field.
- Java大数类介绍
- JAVA大数类详细介绍与题目应用举例
- Java大数类BigDecimal及八种舍入模式的介绍
- Java大数类解决大数加法
- java 大数类
- JAVA大数类练手
- JAVA大数类练手
- java大数类
- Java 大数类
- JAVA大数类
- JAVA大数类练手
- Java大数类应用
- JAVA大数类练手
- Java 大数类
- java处理大数类
- JAVA大数类
- Java 大数类
- Java大数类
- Ubuntu 12.04 安装 Subversion 1.7
- I/O
- Remove Element - LeetCode
- spring用jdbc访问oracle数据库方法
- Mac下firfox访问https限制问题
- Java大数类介绍
- Office文档转换成PDF文档
- Oracle listagg函数、lag函数、lead函数
- zip error: Invalid command arguments
- GCD 深入理解(一)
- cocos2dx各类继承结构
- ORACLE 11G的BIEE 部署与运用(一)——RCU创建资料档案库(图示)
- 解决Android应用安装快完毕时提示签名冲突
- Flex 学习笔记之三:IDEA 搭建Flex 项目(Hello World)