modelRT/util/convert.go

34 lines
783 B
Go
Raw Normal View History

// Package util provide some utility fun
package util
import (
"context"
"strconv"
"modelRT/logger"
"github.com/redis/go-redis/v9"
)
// ConvertZSetMembersToFloat64 define func to conver zset member type to float64
func ConvertZSetMembersToFloat64(ctx context.Context, members []redis.Z) []float64 {
dataFloats := make([]float64, 0, len(members))
for _, member := range members {
valStr, ok := member.Member.(string)
if !ok {
logger.Warn(ctx, "redis zset member value is not a string,skipping")
continue
}
valFloat, err := strconv.ParseFloat(valStr, 64)
if err != nil {
logger.Error(ctx, "failed to parse zset member string to float64", "value", valStr, "error", err)
continue
}
dataFloats = append(dataFloats, valFloat)
}
return dataFloats
}