获取随机数
func getRandData(l, u, count int, t *testing.T) []float32 {
var randNum []float32
PRECISION := int32(100000)
min := float32(l)
max := float32(u)
minBool := true
maxBool := true
rand.Seed(time.Now().UnixNano())
for i := 0; i < count; i++ {
var ratio int32
for {
ratio = rand.Int31n(PRECISION + 1)
if minBool && maxBool {
break
}
if !minBool && !maxBool && ratio != 0 && ratio != PRECISION {
break
}
if minBool && !maxBool && ratio != PRECISION {
break
}
if !minBool && maxBool && ratio != 0 {
break
}
}
dec1 := decimal.NewFromFloat32(max).Sub(decimal.NewFromFloat32(min))
dec2 := dec1.Mul(decimal.NewFromInt32(ratio))
dec3 := dec2.Div(decimal.NewFromInt32(int32(PRECISION)))
dec4 := dec3.Add(decimal.NewFromFloat32(min))
number, _ := dec4.Float64()
num := float32(number)
fmt.Print(num, ",")
randNum = append(randNum, num)
if num == min {
t.Logf("随机数等于下限---------%f \n", num)
}
if num == max {
t.Logf("随机数等于上限---------%f \n", num)
}
if num < min || num > max {
t.Logf("随机数脱离范围区间-----%f \n", num)
}
}
return randNum
}