这种情况可能是由于浮点数精度问题导致的。浮点数在计算机中是以二进制表示的,因此在进行浮点数比较时可能会存在舍入误差。即使两个浮点数在人眼中看起来相等,但在计算机中可能会有微小的差异。

在处理浮点数比较时,可以使用BigDecimal类进行精确计算。可以将浮点数转换为BigDecimal对象,然后使用compareTo方法进行比较。示例代码如下:

BigDecimal m10_1 = BigDecimal.valueOf(this.getM10());
BigDecimal m10_2 = BigDecimal.valueOf(p.getM10());

if (m10_1.compareTo(m10_2) == 0) {
    // 两个值相等
} else {
    // 两个值不相等
}

使用BigDecimal进行比较可以避免舍入误差导致的问题,确保比较结果的准确性。

ProjectEntity p = projectEntityMapperselectProjectEntityByIditemgetId; ProjectEntity ps = new ProjectEntity; BeanUtilscopyPropertiesp ps;thisgetM10!=pgetM10打印输出ps10---------pgetm1010 Sys

原文地址: https://www.cveoy.top/t/topic/h977 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录