public class Test {
public static void main(String[] args) {
System.out.println(2.0 - 1.9);
}
}
计算的结果出乎意料:0.10000000000000009
但是加又没错。。为什么呢?
某大侠说:
计算机 无法处理浮点数值额...!!
为什么捏.~ 因为计算机 只能计算整数 浮点计算都是错误的.! 所以不能昂
怎么解决呢:在java中提供了专门的API来搞定。。具体怎么搞的我也不知道
用BigDecimal
public class Test {
public static void main(String[] args) {
System.out.println((new BigDecimal("2.0")).subtract(new BigDecimal("1.9")).doubleValue());
}
}
注意只能传String
b1.add(b2).doubleValue();//----加
b1.subtract(b2).doubleValue();//---减
b1.multiply(b2).doubleValue();//---乘
b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();//---除
注意:除要麻烦点。。。scale 表示表示需要精确到小数点以后几位, 定精度,以后的数字四舍五入。
分享到:
相关推荐
java 精确的浮点数运算java 精确的浮点数运算java 精确的浮点数运算 java 精确的浮点数运算java 精确的浮点数运算java 精确的浮点数运算 java 精确的浮点数运算java 精确的浮点数运算java 精确的浮点数运算 java ...
java 精确的浮点数运算 工具类 java 精确的浮点数运算 工具类java 精确的浮点数运算 工具类 java 精确的浮点数运算 工具类java 精确的浮点数运算 工具类 java 精确的浮点数运算 工具类java 精确的浮点数运算 工具类 ...
浮点数精度问题在计算机科学中是一个至关重要的概念,尤其对于进行数值计算的开发者来说,理解和掌握浮点数的表示和精度误差至关重要。本文将详细阐述IEEE 754标准,这一标准对浮点数的表示和计算进行了规范,旨在...
Java虚拟机的浮点数支持符合IEEE0-754 1985浮点标准, 该标准定义了32位和64位浮点数的格式及这些浮点数的运算. 在java虚拟机中, 浮点运算基于32位float类型和64位double类型进行. 每一个执行float类型运算的操作码,...
解决JS浮点数(小数)计算加减乘除的BUG
在 Java 中,有多种数据类型,如整数(int)、浮点数(float)、字符串(String)等。在本例中,我们使用整数类型(int)来存储用户输入的 a、b、c 值。 Java 中的运算符 在 Java 中,有多种运算符,如加法(+)、...
[Java]IEEE754浮点数的转换方法,方法都写好了,直接复制过去就可以用了,就这么简单!
Java对浮点数的计算是不精确的,比如0.05+0.01结果不是0.06,而是0.060000000000000005,更有甚者,一个数除以0.0,Java是不会抛异常,而是得出无穷大的结果.本工具类解决了上述问题.该类提供了加减乘除四则运算的精确计算...
在Java编程语言中,浮点数类型包括`float`和`double`,它们分别用于存储单精度和双精度浮点数。了解如何在源码级别获取这两种类型的最大和最小值对于编写高效且精确的代码至关重要。本文将深入探讨Java中获取浮点数...
### Java中实现浮点数的精确计算 在Java编程中,使用`float`和`double`类型进行浮点数计算时经常会遇到精度丢失的问题。这是因为浮点数在计算机内部是以二进制形式存储的,而某些十进制小数无法用二进制精确表示,...
java 浮点数举例java 浮点数举例java 浮点数举例
Java输入浮点数分别输出整数部分和小数部分
在Java编程语言中,浮点数的运算涉及到的是数值计算,特别是小数部分的处理。浮点数在计算机内部是以二进制表示的,这与我们通常使用的十进制系统不同,因此在进行浮点数运算时可能会出现精度丢失的问题。这篇博客...
Java提供了Math.floor()函数可以获取浮点数的整数部分,小数部分则通过减去整数部分得到。整数部分可以通过除以相应的货币单位(元、角、分、厘、毫、丝)转换为人民币的读法。小数部分则需要通过乘以适当的倍数...
- 读取浮点数:`nextFloat()`方法用于读取浮点数,同样,如果输入的不是浮点数,会抛出异常。 ```java if (scanner.hasNextFloat()) { float floatNumber = scanner.nextFloat(); System.out.println("你输入的...
Java小作业 naive
在Java编程中,浮点数运算常常会遇到精度问题,这是由于浮点数在计算机内部的存储方式导致的。为了确保浮点数运算的准确性,开发者需要采取特定的方法。以下将详细阐述这个问题,并提供正确的处理策略。 首先,理解...
在Java编程语言中,从文件中读取浮点数是一个常见的操作需求,尤其是在处理大量数据或进行数据分析时。本文将详细解析如何利用Java标准库中的类来实现这一功能,包括必要的异常处理,确保代码的健壮性和实用性。 ##...
总结一下,Java中的浮点数精确计算主要是通过`java.math.BigDecimal`类来实现的,而"Java实现的浮点类的精确计算"则可能是一个自定义工具类,封装了`BigDecimal`的操作,以提供方便、准确的浮点数计算服务。...
浮点数内码转换是计算机科学中的一个重要概念,特别是在处理数值计算和数据存储时。4字节浮点数,也称为单精度浮点数,遵循国际标准IEEE 754,这种格式在大多数现代计算机系统中广泛使用。4字节浮点数能够表示大约6...