From 7d35f46384b74226348d23b28e6ca50edb643f40 Mon Sep 17 00:00:00 2001 From: liushaofeng Date: Mon, 13 Jul 2020 14:44:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../template/slider/SliderCaptchaTemplate.java | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/main/java/cloud/tianai/captcha/template/slider/SliderCaptchaTemplate.java b/src/main/java/cloud/tianai/captcha/template/slider/SliderCaptchaTemplate.java index bf33042..bbac21d 100644 --- a/src/main/java/cloud/tianai/captcha/template/slider/SliderCaptchaTemplate.java +++ b/src/main/java/cloud/tianai/captcha/template/slider/SliderCaptchaTemplate.java @@ -189,17 +189,11 @@ public class SliderCaptchaTemplate { || oriPercentage == null || Float.isNaN(oriPercentage) || Float.isInfinite(oriPercentage)) { return false; } - BigDecimal num = BigDecimal.valueOf(0.02d); - BigDecimal newPercentageBig = new BigDecimal(newPercentage).setScale(2, BigDecimal.ROUND_HALF_UP); - BigDecimal oriPercentageBig = new BigDecimal(oriPercentage).setScale(2, BigDecimal.ROUND_HALF_UP); - //最小百分比 - BigDecimal minOriPercentage = oriPercentageBig.subtract(num).setScale(2, BigDecimal.ROUND_HALF_UP); - //最大百分比 - BigDecimal maxOriPercentage = oriPercentageBig.add(num).setScale(2, BigDecimal.ROUND_HALF_UP); - if (newPercentageBig.compareTo(minOriPercentage) > 0 && maxOriPercentage.compareTo(newPercentageBig) > 0) { - return true; - } - return false; + // 容错值 + float tolerant = 0.02f; + float maxTolerant = oriPercentage + tolerant; + float minTolerant = oriPercentage - tolerant; + return newPercentage >= minTolerant && newPercentage <= maxTolerant; }