github.com/easysoft/zendata@v0.0.0-20240513203326-705bd5a7fd67/pkg/utils/numb/numb.go (about) 1 package numbUtils 2 3 import ( 4 "math" 5 "strings" 6 ) 7 8 var num2char = "0123456789abcdefghijklmnopqrstuvwxyz" 9 10 func NumToBHex(num int) string { 11 n := 36 12 13 numStr := "" 14 for num != 0 { 15 yu := num % n 16 numStr = string(num2char[yu]) + numStr 17 num = num / n 18 } 19 20 numStr = strings.ToUpper(numStr) 21 numStr = strings.Repeat("0", 5-len(numStr)) + numStr 22 return numStr 23 } 24 25 func BHex2Num(str string) int { 26 n := 36 27 28 str = strings.ToLower(str) 29 v := 0.0 30 length := len(str) 31 for i := 0; i < length; i++ { 32 s := string(str[i]) 33 index := strings.Index(num2char, s) 34 v += float64(index) * math.Pow(float64(n), float64(length-1-i)) // 倒序 35 } 36 return int(v) 37 }