001/* 002 * Copyright 2024-2025, Warm-Flow (290631660@qq.com). 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * https://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.dromara.warm.flow.core.utils; 017 018import java.math.BigDecimal; 019 020/** 021 * 数字工具类 022 * 023 * @author warm 024 */ 025public class MathUtil { 026 027 private MathUtil() { 028 } 029 030 /** 031 * 判断是否为数字 032 * 033 * @param str 字符串 034 */ 035 public static boolean isNumeric(String str) { 036 if (str == null || str.isEmpty()) { // 检查字符串是否为空 037 return false; 038 } 039 try { 040 Double.parseDouble(str.trim()); // 使用Double.parseDouble()方法尝试将字符串转换为double 041 return true; // 转换成功,字符串是数字 042 } catch (NumberFormatException e) { 043 return false; // 转换失败,字符串不是数字 044 } 045 } 046 047 /** 048 * 判断数字大小 049 * 050 * @param n1 字符串 051 * @param n2 字符串 052 */ 053 public static int determineSize(String n1, String n2) { 054 BigDecimal a = new BigDecimal(n1); 055 BigDecimal b = new BigDecimal(n2); 056 return a.compareTo(b); 057 } 058 059}