通常我们习惯这么写:
float a = 2.123f;
float b = 1.101f;
System.out.println("a-b=" + (a-b));
运行结果:a-b=1.022
那么这么写呢?
a = 2.1235f;
b = 1.1012f;
System.out.println("a-b=" + (a-b));
运行结果:a-b=1.0223001
可我们的期望值是:a-b=1.0223
所以float的精度到了4位之后就得这么写:
BigDecimal c = new BigDecimal(Float.toString(a));
BigDecimal d = new BigDecimal(Float.toString(b));
System.out.println("a-b=" + (c.subtract(d)).floatValue());
运行结果:a-b=1.0223
不信你自己试试!
原因请参考:[转载]http://blog.csdn.net/fancylovejava/article/details/12027039
相关推荐
汇编指令实现两个数字相减,通过汇编指令实现输出
这里,我们要把计算得到的和存入30H单元,并且将后两个数相减的结果存入31H单元。减法操作的汇编指令可能是`SUB`,如`SUB num3, num4`,然后同样使用`MOV`指令将结果存入31H单元,如`MOV [31H], AX`(假设减法后结果...
本文将深入探讨如何使用OpenCV实现两个图像相减,这是一个基本但关键的操作,用于图像分析、背景消除以及运动检测等场景。 ### OpenCV实现两个图像相减 #### 核心概念解析: **图像相减**的基本原理是:对于两张...
实现两个数值型的日期相减得出天数的函数。
本文将详细讲解如何使用C#实现两个时间相减的方法,并提供实例分析来展示具体的操作技巧。 首先,我们需要了解C#中的`DateTime`类型。`DateTime`是.NET框架中用于表示日期和时间的类,它提供了丰富的属性和方法,...
在本次课程设计任务中,你需要实现一个程序,用于执行两个矩阵的基本运算,包括相加、相减、相乘以及计算转置矩阵。这些是线性代数中的基本操作,广泛应用于计算机图形学、科学计算、数据分析等多个领域。下面将详细...
上个实例改进 java实现两个日期相减得到中间的年份和月份日期
点云相减,顾名思义,就是将两个点云数据集进行操作,得到它们之间的差异部分。这一过程通常用于去除静态背景,突出动态或感兴趣的目标。在标题提及的场景中,“点云数据与背景数据相减,留下来的既是本体数据”,这...
java 两个日期相减得到的天数、毫秒数;获取两个日期中的最大日期;获取两个日期中的最小日期。
最后,运行这个程序,它将在屏幕上显示两个压缩BCD码相减后的结果。 实验小结指出,这个实验相对简单,没有遇到重大问题,但强调了对程序的深入理解和精确性的重要性。对于学习微机原理与接口技术的学生来说,这样...
在上面的语句中,我们首先创建了一个名为 XXX 的表,其中包含两个列:sort 和 qty。然后,我们插入了六条示例数据。 使用 CTE 计算相邻两条数据的差异 接下来,我们将使用 Common Table Expression(CTE)来计算...
下面,我们将详细探讨如何在SQL中实现间隔行相减,并通过一个具体的示例来加深理解。 ### SQL间隔行相减的原理 在SQL中,间隔行相减通常涉及到窗口函数(Window Functions)的使用,尤其是`LAG()`和`LEAD()`函数,...
例如,如果你有两个`Date`对象`date1`和`date2`,你可以通过`date1.getTime() - date2.getTime()`得到它们之间的毫秒差。为了将这个差异转换为天数、小时数等,你需要除以相应的转换因子。 2. **数字日历**: 创建...
当两个DateTimePicker控件分别用来选取开始日期(DateTimePicker1)和结束日期(DateTimePicker2)时,我们可以编写代码来计算它们之间的日期差。以下是一个简单的示例: ```csharp private void dateTimePicker2_...
本文将深入探讨两个矩阵之间的加法、减法、乘法和除法运算,以及矩阵的转置,这些都是C++编程中实现矩阵运算的基础。 首先,矩阵加法是将两个相同大小的矩阵对应位置的元素相加。例如,如果矩阵A和矩阵B都是2x2的,...
该类包含了两个私有成员变量`Real`和`Image`,分别用于存储复数的实部和虚部。 ```cpp class A { private: float Real, Image; public: A(float re = 0, float im = 0) { Real = re; Image = im; } void Show(int...
西门子博途1200 时间相减 西门子博途1200 时间相减是指在 Siemens STEP 7 (TIA Portal) 中,对 CPU 模块的日期和时间变量进行输入、读取和编辑。为了实现这一功能,需要使用特定的数据类型和指令。 在 S7-300/400 ...
设计一个稀疏矩阵运算器。实现两个矩阵相加、相减和相乘等的运算。矩阵的输入输出均按通常的阵列形式