标签:return min int max float64 ret 随机
package utils import ( "fmt" "github.com/shopspring/decimal" "math" "math/rand" "testing" "time" ) func init() { // 初始化rand模块的Seed,要不然所有的随机值会一样~ rand.Seed(time.Now().UnixNano()) } // 获取随机float64 保留2位小数 Notice 不四舍五入 func GetRandomFloat64WHW(min, max float64) float64 { min, max = math.Abs(min), math.Abs(max) min, max = GetMinFloat64WHW(min, max), GetMaxFloat64WHW(min, max) // 到这里确保 max>=min 并且二者一定是正数 ret := GetMinFloat64WHW(min, max) + rand.Float64()*(max-min) // 不四舍五入 ret, _ = decimal.NewFromFloat(ret).RoundFloor(2).Float64() if ret > max { ret = max } if ret < min { ret = min } return ret } func GetMaxFloat64WHW(min, max float64) float64 { if min >= max { return min } return max } func GetMinFloat64WHW(min, max float64) float64 { if min <= max { return min } return max } func TestRandFloat64222(t *testing.T) { fmt.Println(GetRandomFloat64WHW(1,2)) fmt.Println(GetRandomFloat64(-1.2233,2.123)) fmt.Println(GetRandomFloat64(3.2,2)) fmt.Println(GetRandomFloat64(0.01,0.1)) fmt.Println(GetRandomFloat64(-0.01,0.1)) }
~~~
// 随机数 // 生成min与max之间的整数(包含) func GenRandomInt(min, max int) int { if min == max { return min } // 为了保险取两个值之间大的那个作为max randNum := rand.Intn(GetMaxInt(min, max)-min) + min return randNum } func GetMaxInt(min, max int) int { if max >= min { return max } return min } func GetMinInt(min, max int) int { if min <= max { return min } return max }
~~~
标签:return,min,int,max,float64,ret,随机 来源: https://www.cnblogs.com/paulwhw/p/16650659.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。