浮点数之间的等值判断,基本数据类型不能用==比较,包装数据类型不能用equals来判断。

This commit is contained in:
hanshuai 2020-09-07 15:35:09 +08:00
parent df92485ade
commit 53a7b4bf6c

View File

@ -37,6 +37,7 @@ import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Serializable;
import java.math.BigDecimal;
import java.net.URL;
import java.nio.file.Path;
@ -302,7 +303,10 @@ public class Img implements Serializable {
double heightRatio = NumberUtil.div(height, srcHeight);
double widthRatio = NumberUtil.div(width, srcWidth);
if (widthRatio == heightRatio) {
// 浮点数之间的等值判断,基本数据类型不能用==比较,包装数据类型不能用equals来判断
BigDecimal heightRatioBigDecimal = new BigDecimal(heightRatio);
BigDecimal widthRatioBigDecimal = new BigDecimal(widthRatio);
if (heightRatioBigDecimal.compareTo(widthRatioBigDecimal) == 0) {
// 长宽都按照相同比例缩放时返回缩放后的图片
scale(width, height);
} else if (widthRatio < heightRatio) {