|
@@ -2183,13 +2183,18 @@ func DealDateTimeZero(t time.Time, format string) (timeStr string) {
|
|
|
// @return bool
|
|
|
// @return string
|
|
|
func IsPercentage(input string) (bool, string) {
|
|
|
- percentagePattern := `^-?(\d{1,2}(\.\d{1,2})?)%$`
|
|
|
+ percentagePattern := `^-?(\d+(\.\d+)?)%$`
|
|
|
match, _ := regexp.MatchString(percentagePattern, input)
|
|
|
|
|
|
if match {
|
|
|
re := regexp.MustCompile(percentagePattern)
|
|
|
match := re.FindStringSubmatch(input)
|
|
|
- return true, match[1] // 返回第一个捕获组的内容,即整个负数百分比数值
|
|
|
+ // 区分负数和正数,确保返回结果包含负号(如有)
|
|
|
+ sign := "-"
|
|
|
+ if input[0] != '-' {
|
|
|
+ sign = ""
|
|
|
+ }
|
|
|
+ return true, sign + match[1]
|
|
|
}
|
|
|
|
|
|
return false, ""
|