最近因为android,开始了java语言的学习,选择的参考书是java编程思想英文版,因为看到网上这本书的评论不错,而且也想考校一下自己的英语水平,刚开始入手英语确实比较困难,基本上是开着有道和中文的java编程思想进行阅读的,我会不定期的将自己的学习收获放在博客上,也为了能更好的督促自己的学习。
BigInteger和BigDecimal是典型的以速度获取精度的两种数据类型,这两种数据类型拥有很高的数据精度,用这两种数据类型基本上不会损失任何信息,所以这两种数据类型很适合用在货币计算中。用在int和float中的方法都可以用在这两种数据类型,只不过这两种数据类型只能使用方法进行操作,不能使用运算符,例如+,-,++,%。下面是一些具体的一些情况:
一.实例化BigInteger
1 BigInteger biFirst = new BigInteger("12"); 2 System.out.println("biFirst的值为" + biFirst);
输出结果为:biFirst的值为12
在构造函数的内部,实际上调用的是Integer.parseInt()方法,所以如果BigInteger构造函数的参数为12.5,就会抛异常
二.BigInteger的相加
1 BigInteger biFirst = new BigInteger("12"); 2 BigInteger biSecond = new BigInteger("9"); 3 BigInteger biResult; 4 biResult = biFirst.add(biSecond); 5 System.out.println("BigInteger相加的值为:" + biResult);
输出结果为:BigInteger相加的值为:21
BigInteger这种数据类型,不能使用+运算符进行相加,必须使用add()方法进行相加
三.BigInteger的相除
1 BigInteger biFirst = new BigInteger("12"); 2 BigInteger biSecond = new BigInteger("9"); 3 BigInteger biResult; 4 biResult = biFirst.divide(biSecond); 5 System.out.println("BigInteger相除的值为:" + biResult);
输出结果为:BigInteger相除的值为:1
BigInteger实际上就是精度大一点的Int类型,当然,精度也比long大,但是不要妄想它能表示小数,用BigInteger相除如果有余数则只会保留整数位
四.BigDecimal
BigDecimal的使用方法和BigInteger差不多,只有几点需要注意,两个不同精度的BigDecimal进行操作,结果的精度是两个数中精度最大的那个数的精度,如:
1 BigDecimal bdFirst = new BigDecimal("10.50"); 2 BigDecimal bdSecond = new BigDecimal("0.5"); 3 BigDecimal bdResult; 4 bdResult = bdFirst.add(bdSecond); 5 System.out.println("BigDecimal相加的值为:"+bdResult);
输出结果为:BigDecimal相加的值为:11.00
BigInteger和BigDecimal大家可以根据具体的情况来使用,一些具体的用法还是应该去查一下JDK,如果文中有不对的地方也请大家批评指正
相关推荐
BigInteger.java BigDecimal.java 文件 源代码
java笔试题算法大数 Delphi 的 BigInteger、BigDecimal 和 BigRational 这些是多精度BigInteger 、 BigDecimal和BigRational类型的实现,从头开始构建。 大整数 BigInteger是一个多精度整数。 它的大小仅受可用内存...
使用时导包:java.math.BigInteger 作用:可以使用BigInteger操作大整数,也可以转换进制。如果在操作的时候一个整型数据已经超过了整数的最大类型长度long的话,则此数据就无法装入,所以,此时要使用BigInteger类...
BigInteger BigDecimal 使用
java.math.BigDecimal 操作类,包含加减乘除、String型加减乘除精度格式化转换计算等
java biginteger源码用于 JavaScript 的 BigDecimal BigDecimal for Javascript是不可变、任意精度、有符号十进制数的纯 Javascript 实现。 BigDecimal 支持任意精度的十进制数学。 在有限的时间内,我们将免费提供...
红鳞 用于 JavaScript/ClojureScript 的 BigInteger、BigDecimal 和 Ratio 库。 目前在阿尔法
java练习_大数运算_BigInteger.pdf
Java中BigInteger的数学运算,BigDecimal 加减乘除运算,Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大...
JAVABigInteger包.pdf
主要介绍了Java BigInteger类,BigDecimal类,Date类,DateFormat类及Calendar类用法,结合实例形式详细分析了Java使用BigInteger类,BigDecimal类,Date类,DateFormat类及Calendar类进行数值运算与日期运算相关操作...
解决mongo数据插入时 报错问题 mogodb插入数据时报错Can't find a codec for class java.math.BigDecimal
Java技术基础 4 1.1编程语言 4 1.2 Java的特点 4 1.3 Java开发环境 4 1.4 Java开发环境配置 5 1.5 Linux命令与相关知识 5 1.6 Eclipse/Myeclipse程序结构 6 Java语言基础 7 2.1基础语言要素 7 2.2八种基本数据类型 7...
bigNumber 这是Java的API,用于处理非常大的数字并对其进行计算。 基本上,它结合了Java的BigInteger和BigDecimal。 有关更多信息,请访问:
BigInteger不是基本数据类型之一,它其实更像String,是Java里的一个类,然而它的初始化方式却没有String那么方便可以直接赋值,而是跟其他自定义的类一样,要调用它的构造器进行初始化。
单个封装中具有任意精度的所有数量的所有格式,包括所有三角函数,对数函数,算术函数,矩阵函数等。
在 Java 编程中,经常需要对数字类型的数据进行转换。其中,BigDecimal 是一种高精度的十进制浮点数类型,适合处理大数值计算。在一些需求中,我们可能需要将 BigDecimal 值转换为 Integer 类型。这时,可以使用 ...
使用BigInteger类实现,实现了RSA的加解密
主要介绍了Java Bigdecimal使用原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
java 中BigInteger应用import java.util.Scanner; import java.math.BigInteger; public class Main{ public static void main(String[]args){ Scanner in=new Scanner(System.in); while(in.hasNext()){//has....