golang --生成指定范圍內浮點數


package main

import (
	RR "crypto/rand"
	"fmt"
	"math"
	"math/big"
	"math/rand"
)

// 生成區間[-m, n]的安全隨機數
func RangeRand(min, max int64) int64 {
	if min > max {
		panic("the min is greater than max!")
	}

	if min < 0 {
		f64Min := math.Abs(float64(min))
		i64Min := int64(f64Min)
		result, _ := RR.Int(RR.Reader, big.NewInt(max+1+i64Min))

		return result.Int64() - i64Min
	} else {
		result, _ := RR.Int(RR.Reader, big.NewInt(max-min+1))
		return min + result.Int64()
	}

}

func main() {

	data1 := RangeRand(620, 625)
	data2 := rand.Float32()
	data := float32(data1) + data2
	fmt.Printf("%.2f", data)

}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM