java 大数类_Java大数类介绍
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大数类介绍相关推荐
- java filereader类_Java FileReader类
FileReader类从InputStreamReader类继承而来.该类按字符读取流中数据.可以通过以下几种构造方法创建需要的对象. 在给定从中读取数据的 File 的情况下创建一个新 FileRe ...
- java复用类_java复用类
1. toString() 每一个非基本类型都有一个toString()方法:当编译器需要从对象获取一个string时,该对象的toString()方法就会被调用. 示例: class WaterSo ...
- java高级类_Java高级类特性(一)
权限类内同包不同包子类不同包非子类 private √ × × × default √ √ × × protected √ √ √ × public √ √ √ √ 四.super关键字的使用 pac ...
- java 根据类名示例化类_Java即时类| from()方法与示例
java 根据类名示例化类 即时类from()方法 (Instant Class from() method) from() method is available in java.time pack ...
- java 根据类名示例化类_Java即时类| EpochSecond()方法的示例
java 根据类名示例化类 EpochSecond()方法的即时类 (Instant Class ofEpochSecond() method) Syntax: 句法: public static I ...
- java 根据类名示例化类_Java即时类| plusMillis()方法与示例
java 根据类名示例化类 即时类plusMillis()方法 (Instant Class plusMillis() method) plusMillis() method is available ...
- java 根据类名示例化类_Java LocalDateTime类| atOffset()方法与示例
java 根据类名示例化类 LocalDateTime类atOffset()方法 (LocalDateTime Class atOffset() method) atOffset() method i ...
- java 根据类名示例化类_Java MathContext类| 带示例的getRoundingMode()方法
java 根据类名示例化类 MathContext类的getRoundingMode()方法 (MathContext Class getRoundingMode() method) getRound ...
- java 根据类名示例化类_Java即时类| minusNanos()方法与示例
java 根据类名示例化类 即时类minusNanos()方法 (Instant Class minusNanos() method) minusNanos() method is available ...
- java 根据类名示例化类_Java LocalDateTime类| 带示例的getNano()方法
java 根据类名示例化类 LocalDateTime类getNano()方法 (LocalDateTime Class getNano() method) getNano() method is a ...
最新文章
- 设置UTL_FILE_DIR参数 使得数据库使用OS文件
- HDU 2072 单词数
- 10.ASCII码对照
- java继承中构造方法_java之继承中构造方法总结(文字版)
- python深度复制列表_Python-如何深层复制列表?
- 特斯拉:召回不涉及国产车型 也与“刹车失灵”无关
- 富士康有麻烦了,iPhone产能已被削减
- PHP中include和require的区别详解
- 【渝粤教育】21秋期末考试网络金融10248k2
- Java .class 反编译 Luyten,导出 .java文件,查看jar 包目录,超级简单,实用
- 04.数据分析之pillow与matplotlib
- 咏南linux中间件状态查看,咏南跨平台中间件
- 仓库管理系统怎么选?想高效管理仓库的老板,别错过这篇干货!
- 教你一招永久去除WPS广告
- 【国内博客】国内常见的 博客 主页 (IT)
- linux 启动wifi
- A Semi-supervised Graph Attentive Network for Financial Fraud Detection 个人总结
- CHIL-SQL-NOW() 函数
- matlab中的颜色,Matlab里面除了常用的还有哪些颜色?已知的颜色不够怎么办?
- 有效减小虚拟机占的内存
热门文章
- 今天的作业 --- 去重
- android 参数 attrs.xml,使用attrs.xml自定义属性
- c++ vector 初始化_什么?还不懂c++vector的用法,你凭什么勇气来的!
- mysql in 按顺序排序_mysql in 排序 也可以按in里面的顺序来排序
- java项目功能详情介绍,JAVAEE—spring的详细介绍
- linux下远程登录如何退出,Ubuntu 中rdesktop如何切换和退出远程桌面
- C语言 十进制和二进制相互转换 - C语言零基础入门教程
- PWN题[强网先锋]orw超详细讲解(多解法)
- BugkuCTF-Reverse题入门逆向多解法
- ip服务器ip地址信息配置,服务器ip地址配置