「浮点型和整数相除java」浮点数整除整数

博主:adminadmin 2023-01-07 12:51:06 1036

今天给各位分享浮点型和整数相除java的知识,其中也会对浮点数整除整数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java中整除和浮点除什么区别

被除数和除数都为整数即为整除,结果也为整数,如果有余数,则忽略余数,比如

5/2结果为2。

被除数和除数只要有一个是浮点数(小数)即为浮点除,结果为浮点数,比如

5.0/2

结果为

2.5

在java数据类型中,浮点型数据除整数型数据,得到的结果是什么类型的数据?

不是错误就是小数呗

错误的话就不用说

不错就是浮点

java中两个float数相除,应该是整数却成了小数

主要是因为java中的【简单类型】并不适用于对【浮点】的【 精确计算】。,其它语言也存在同样的问题。

计算机存储数值,是二进制的。 在处理的时候,也是先把【浮点数】(float , double)转成整数再转成二进制,然后进行操作,如果有取余,会有不同的取余方式。再加上运算完成后,再多二进制转成上层的浮点,又会有一些取舍。就造成了呈现出来时的简单明显的错误 。

你可以试试下面的代码:

System.out.println(0.05 + 0.01);// 0.060000000000000005

        System.out.println(1.0 - 0.42); // 0.5800000000000001

        System.out.println(4.015 * 100);// 401.49999999999994

        System.out.println(123.3 / 100); // 1.2329999999999999

在需要精确计算时, Math.round ()  或则 DecimalFormat("0.00").format(4.025)) 都是不可取的。

要使用BigDecimal 或则 BCD码。

使用 BigDecimal 的时候,要使用  new BigDecimal (String ss) 这个构造函数。

public BigDecimal(double val) 这个构造函数也是不推荐的。 你可以参考这个函数的的注释。

BigDecimal b2 = new BigDecimal("0.3");

BigDecimal b1 = new BigDecimal("1.8");

System.out.println(b1.divide(b2));

关于浮点型和整数相除java和浮点数整除整数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。