最近因为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,如果文中有不对的地方也请大家批评指正
旅行要学会随遇而安,淡然一点,走走停停,