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  ;

new  ;

new Random rnd) 。

new Random rnd) 。

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(),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大数类介绍相关推荐

  1. java filereader类_Java FileReader类

    FileReader类从InputStreamReader类继承而来.该类按字符读取流中数据.可以通过以下几种构造方法创建需要的对象. 在给定从中读取数据的 File 的情况下创建一个新 FileRe ...

  2. java复用类_java复用类

    1. toString() 每一个非基本类型都有一个toString()方法:当编译器需要从对象获取一个string时,该对象的toString()方法就会被调用. 示例: class WaterSo ...

  3. java高级类_Java高级类特性(一)

    权限类内同包不同包子类不同包非子类 private √ × × × default √ √ × × protected √ √ √ × public √ √ √ √ 四.super关键字的使用 pac ...

  4. java 根据类名示例化类_Java即时类| from()方法与示例

    java 根据类名示例化类 即时类from()方法 (Instant Class from() method) from() method is available in java.time pack ...

  5. java 根据类名示例化类_Java即时类| EpochSecond()方法的示例

    java 根据类名示例化类 EpochSecond()方法的即时类 (Instant Class ofEpochSecond() method) Syntax: 句法: public static I ...

  6. java 根据类名示例化类_Java即时类| plusMillis()方法与示例

    java 根据类名示例化类 即时类plusMillis()方法 (Instant Class plusMillis() method) plusMillis() method is available ...

  7. java 根据类名示例化类_Java LocalDateTime类| atOffset()方法与示例

    java 根据类名示例化类 LocalDateTime类atOffset()方法 (LocalDateTime Class atOffset() method) atOffset() method i ...

  8. java 根据类名示例化类_Java MathContext类| 带示例的getRoundingMode()方法

    java 根据类名示例化类 MathContext类的getRoundingMode()方法 (MathContext Class getRoundingMode() method) getRound ...

  9. java 根据类名示例化类_Java即时类| minusNanos()方法与示例

    java 根据类名示例化类 即时类minusNanos()方法 (Instant Class minusNanos() method) minusNanos() method is available ...

  10. java 根据类名示例化类_Java LocalDateTime类| 带示例的getNano()方法

    java 根据类名示例化类 LocalDateTime类getNano()方法 (LocalDateTime Class getNano() method) getNano() method is a ...

最新文章

  1. 设置UTL_FILE_DIR参数 使得数据库使用OS文件
  2. HDU 2072 单词数
  3. 10.ASCII码对照
  4. java继承中构造方法_java之继承中构造方法总结(文字版)
  5. python深度复制列表_Python-如何深层复制列表?
  6. 特斯拉:召回不涉及国产车型 也与“刹车失灵”无关
  7. 富士康有麻烦了,iPhone产能已被削减
  8. PHP中include和require的区别详解
  9. 【渝粤教育】21秋期末考试网络金融10248k2
  10. Java .class 反编译 Luyten,导出 .java文件,查看jar 包目录,超级简单,实用
  11. 04.数据分析之pillow与matplotlib
  12. 咏南linux中间件状态查看,咏南跨平台中间件
  13. 仓库管理系统怎么选?想高效管理仓库的老板,别错过这篇干货!
  14. 教你一招永久去除WPS广告
  15. 【国内博客】国内常见的 博客 主页 (IT)
  16. linux 启动wifi
  17. A Semi-supervised Graph Attentive Network for Financial Fraud Detection 个人总结
  18. CHIL-SQL-NOW() 函数
  19. matlab中的颜色,Matlab里面除了常用的还有哪些颜色?已知的颜色不够怎么办?
  20. 有效减小虚拟机占的内存

热门文章

  1. 今天的作业 --- 去重
  2. android 参数 attrs.xml,使用attrs.xml自定义属性
  3. c++ vector 初始化_什么?还不懂c++vector的用法,你凭什么勇气来的!
  4. mysql in 按顺序排序_mysql in 排序 也可以按in里面的顺序来排序
  5. java项目功能详情介绍,JAVAEE—spring的详细介绍
  6. linux下远程登录如何退出,Ubuntu 中rdesktop如何切换和退出远程桌面
  7. C语言 十进制和二进制相互转换 - C语言零基础入门教程
  8. PWN题[强网先锋]orw超详细讲解(多解法)
  9. BugkuCTF-Reverse题入门逆向多解法
  10. ip服务器ip地址信息配置,服务器ip地址配置