From 0492d07dab22e44817af70795977ef1372c71c70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=90=A6?= Date: Thu, 2 Nov 2023 17:39:02 +0800 Subject: [PATCH] =?UTF-8?q?=E9=94=80=E9=A1=B9=E5=8F=91=E7=A5=A8=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=20=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ImageSubmitServiceImpl.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java index be32ee55..c3d4c475 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java @@ -330,14 +330,14 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { * @param taxRate * @return 去掉%的小数 */ - public BigDecimal getTaxRate(String taxRate) { + public static BigDecimal getTaxRate(String taxRate) { if (StringUtils.isBlank(taxRate) || Constant.ZERO_TAXRATE_VALUE.contains(taxRate)) { taxRate = "0"; } else { taxRate = taxRate.replace("%", ""); // 判断是不是数字 不是数字的就给0 if (!isNumeric(taxRate)) { - taxRate = "0.00"; + taxRate = "0"; } else { // 不知道库里存的是13% 还是0.13 所以加一个判断 if (new BigDecimal(taxRate).compareTo(BigDecimal.ONE) >= 0) { @@ -352,19 +352,21 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { } public static boolean isNumeric(String str){ - for (int i = str.length();--i>=0;){ - if (!Character.isDigit(str.charAt(i))){ - return false; - } + try { + Double.parseDouble(str); + return true; + } catch (NumberFormatException e) { + return false; } - return true; } public static void main(String[] args) { BigDecimal a = new BigDecimal(0.13); String tax = a.multiply(new BigDecimal(100)).setScale(4,BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString(); - System.out.println(tax); + System.out.println(StringUtils.isNumeric("13.00")); + System.out.println(isNumeric("1e1")); + System.out.println(getTaxRate("13.00")); System.out.println(TaxRateCodeEnum.getCode(tax)); } }