fix
This commit is contained in:
@@ -228,7 +228,38 @@ func isDimensionKey(key string) bool {
|
||||
|
||||
func isZeroishString(s string) bool {
|
||||
s = strings.TrimSpace(strings.ToLower(s))
|
||||
return s == "0" || s == "0.0" || s == "0,0" || s == "0.00"
|
||||
if s == "" {
|
||||
return false
|
||||
}
|
||||
if s == "0" || s == "0.0" || s == "0,0" || s == "0.00" {
|
||||
return true
|
||||
}
|
||||
// Strip common unit suffixes (m, cm, mm, kg, g) then re-check numeric zero.
|
||||
trimmed := s
|
||||
for _, u := range []string{"kg", "cm", "mm", "g", "m"} {
|
||||
if strings.HasSuffix(trimmed, u) {
|
||||
trimmed = strings.TrimSpace(strings.TrimSuffix(trimmed, u))
|
||||
break
|
||||
}
|
||||
}
|
||||
trimmed = strings.ReplaceAll(trimmed, " ", "")
|
||||
if trimmed == "" {
|
||||
return false
|
||||
}
|
||||
// 0 / 0.0 / 0,00 / 0.0000 / 0,0000
|
||||
onlyZero := true
|
||||
sawDigit := false
|
||||
for _, r := range trimmed {
|
||||
switch r {
|
||||
case '0':
|
||||
sawDigit = true
|
||||
case '.', ',':
|
||||
continue
|
||||
default:
|
||||
onlyZero = false
|
||||
}
|
||||
}
|
||||
return onlyZero && sawDigit
|
||||
}
|
||||
|
||||
func isEmptyValue(v any) bool {
|
||||
|
||||
Reference in New Issue
Block a user