83 lines
1.5 KiB
Go
83 lines
1.5 KiB
Go
package utils
|
|
|
|
import (
|
|
"github.com/shopspring/decimal"
|
|
"unicode"
|
|
)
|
|
|
|
//HasEnglish 判断字符串是否包含英文
|
|
func HasEnglish(s string) bool {
|
|
for _, r := range s {
|
|
if unicode.Is(unicode.Latin, r) {
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|
|
|
|
//HasChinese 判断字符串是否包含中文
|
|
func HasChinese(s string) bool {
|
|
for _, r := range s {
|
|
if unicode.Is(unicode.Han, r) {
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|
|
|
|
//HasEnglishAndChinese 判断字符串是否同时包含英文和中文
|
|
func HasEnglishAndChinese(s string) bool {
|
|
return HasEnglish(s) && HasChinese(s)
|
|
}
|
|
|
|
//FirstIsBiggerOrEqualDec 比较两个string转化成数字对比大小
|
|
func FirstIsBiggerOrEqualDec(dec1, dec2 decimal.Decimal) (bool, error) {
|
|
|
|
// 比较 decimal.Decimal 值
|
|
if dec1.LessThan(dec2) {
|
|
return false, nil
|
|
}
|
|
|
|
return true, nil
|
|
|
|
}
|
|
|
|
//FirstIsBiggerOrEqual 比较两个string转化成数字对比大小
|
|
func FirstIsBiggerOrEqual(dec1 decimal.Decimal, b string) (bool, error) {
|
|
|
|
dec2, err := decimal.NewFromString(b)
|
|
if err != nil {
|
|
return false, err
|
|
}
|
|
|
|
// 比较 decimal.Decimal 值
|
|
if dec1.LessThan(dec2) {
|
|
return false, nil
|
|
}
|
|
|
|
return true, nil
|
|
|
|
}
|
|
|
|
//FirstIsBiggerOrEqualString 比较两个string转化成数字对比大小
|
|
func FirstIsBiggerOrEqualString(a, b string) (bool, error) {
|
|
|
|
dec1, err := decimal.NewFromString(a)
|
|
if err != nil {
|
|
return false, err
|
|
}
|
|
|
|
dec2, err := decimal.NewFromString(b)
|
|
if err != nil {
|
|
return false, err
|
|
}
|
|
|
|
// 比较 decimal.Decimal 值
|
|
if dec1.LessThan(dec2) {
|
|
return false, nil
|
|
}
|
|
|
|
return true, nil
|
|
|
|
}
|