pb 獲取兩個數之間的隨機數
阿新 • • 發佈:2019-01-05
public function decimal f_getrand (decimal ad_begin, decimal ad_end);
//*-----------------------------------------------------------------*/
//功能,獲取兩個數之間的隨機數
//返回值的精確度為兩個數中最大精確度
//為了使RAND是產生偽隨機序列更隨即,適當把樣本空間放大。
//*-----------------------------------------------------------------*/
int li_point
dec ld_sub,ld_rand,ld_return
ld_sub = abs(ad_end - ad_begin)
//最長小數位個數
li_point = len(string(ld_sub)) -pos(string(ld_sub),".")
//產生隨機數,樣本空間擴大為100*最長小數位個數倍
ld_rand = rand(ld_sub*100*li_point)
//返回數值範圍的隨機數
ld_return = min(ad_begin,ad_end) + ld_rand/(100*li_point)
//截斷數值到指定的小數位
ld_return = Truncate ( ld_return,li_point)
return ld_return
end function