ProjectEntity p = projectEntityMapperselectProjectEntityByIditemgetId; ProjectEntity ps = new ProjectEntity; BeanUtilscopyPropertiesp ps;thisgetM10!=pgetM10打印输出ps10---------pgetm1010 Sys
这种情况可能是由于浮点数精度问题导致的。浮点数在计算机中是以二进制表示的,因此在进行浮点数比较时可能会存在舍入误差。即使两个浮点数在人眼中看起来相等,但在计算机中可能会有微小的差异。
在处理浮点数比较时,可以使用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进行比较可以避免舍入误差导致的问题,确保比较结果的准确性。
原文地址: https://www.cveoy.top/t/topic/h977 著作权归作者所有。请勿转载和采集!