You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
520 B
Go

package utils
import (
"fmt"
"gitee.ltd/lxh/logger"
"math"
"strconv"
)
type mathUtil struct{}
func MathUtil() *mathUtil {
return &mathUtil{}
}
func (m mathUtil) Sqrt(datas []float64, avg float64) float64 {
if len(datas) == 0 {
return 0
}
var aaa float64
for _, d := range datas {
co := d - avg
aaa += co * co
}
d, err := strconv.ParseFloat(fmt.Sprintf("%.2f", math.Sqrt(aaa/float64(len(datas)))), 64)
if err != nil {
logger.Say.Errorf("生成标准差失败:%v", err)
return 0
}
return d
}