java.math包下计算浮点数和整数的类的实例
java.math包提供了java中的数学类。包括基本的浮点库、复杂运算以及任意精度的数据运算
提供用于执行任意精度整数算法(BigInteger)和任意精度小数算法(BigDecimal)的类。BigInteger除提供任意精度之外,它类似于Java的基本整数类型,因此在BigInteger上执行的操作不产生溢出,也不会丢失精度。除标准算法操作外,BigInteger还提供模(modular)算法、GCD计算、基本(primality)测试、素数生成、位处理以及一些其他操作。BigDecimal提供适用于货币计算和类似计算的任意精度的有符号十进制数字。BigDecimal允许用户对舍入行为进行完全控制,并允许用户选择所有八个舍入模式。
1.BigDecimal
不可变的、任意精度的有符号十进制数。BigDecimal由任意精度的整数非标度值和32位的整数标度(scale)组成。如果为零或正数,则标度是小数点后的位数。如果为负数,则将该数的非标度值乘以10的负scale次幂。因此,BigDecimal表示的数值是(unscaledValue×10-scale)。
下面通过一些例子给大家详细介绍下java.math包下计算浮点数和整数的类,一起看看吧
(1)BigIntege:实现任意精度的整数运算。
(2)BigDecimal:实现任意精度的浮点运算。
例如:
使用BigDecimal进行浮点数比较
importjava.math.BigDecimal; publicclassHelloWorld{ publicstaticvoidmain(String[]args){ BigDecimala=BigDecimal.valueOf(1.0); a=a.subtract(BigDecimal.valueOf(0.1));//subtract:减去 a=a.subtract(BigDecimal.valueOf(0.1)); a=a.subtract(BigDecimal.valueOf(0.1)); a=a.subtract(BigDecimal.valueOf(0.1)); a=a.subtract(BigDecimal.valueOf(0.1)); System.out.println(a);//输出:0.5 System.out.println(1.0-0.1-0.1-0.1-0.1-0.1);//输出:0.5000000000000001 BigDecimalb=BigDecimal.valueOf(0.1); BigDecimalc=BigDecimal.valueOf(1.0/10.0); System.out.println(b==c);//false System.out.println(b.equals(c));//true } }
总结
到此这篇关于java.math包下计算浮点数和整数的类的实例的文章就介绍到这了,更多相关java计算浮点数和整数内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。