砍價獲取金額

2021-10-07 04:23:31 字數 1472 閱讀 3259

/**

* 砍價演算法-生成砍價金額

* * @param int $people 砍價人數或次數

* @param int $amount 砍價總額 單位元

* @param int $min 最低砍價金額 不得低於0

* @param int $max 最高砍價金額 砍價次數 * 最高砍價金額不得小於砍價總額

* @param int $level 層級 防止遞迴超出限制

* * @return array

*/function genrandomamount($people = 0, $totalamount = 0, $min = 0, $max = 0, $level = 1)

$arr = ;

// 資料錯誤直接返回

if (empty($people) || empty($totalamount))

// 轉換成分便於計算

$tmptotal = $totalamount * 100;

$tmpmin = $min * 100;

$tmpmax = $max * 100;

// 計算n-1次的隨機金額,如果不減1,則會出現多減一次隨機金額的問題,應該是最後的金額直接賦值

for ($i = 0; $i < $people - 1; $i++)

// 最後的**直接使用最後剩餘的**

$arr[$people - 1] = $tmptotal;

// 最後一次**小於最小金額或者大於最大金額都不對,繼續遞迴重新計算

if ($tmptotal < $tmpmin || $tmptotal > $tmpmax)

// 返回單位元的資料

return array_map(function ($value) , $arr);

}/**

* 砍價演算法-獲取砍價金額

* * @param int $people 砍價人數或次數

* @param int $amount 砍價總額

* @param int $min 最低砍價金額 不得低於0

* @param int $max 最高砍價金額 砍價次數 * 最高砍價金額不得小於砍價總額

* * @return array

*/function getrandomamount($people = 0, $totalamount = 0, $min = 0, $max = 0)

if ($people * $max <= $totalamount)

$arr = genrandomamount($people, $totalamount, $min, $max);

// 有機率會因為遞迴呼叫超出限制而返回空陣列,這裡繼續重新生成,直到金額正確

while (empty($arr))

return $arr;

}

獲取金額的大寫格式

pbexportheader gf getmoney.srf pbexportcomments 獲取金額的大寫格式 global type gf getmoney from function object end type forward prototypes global function str...

金額,金額明細,金額體現

create table tf merchant money log id int 11 not null auto increment comment id merchant uid int 11 not null comment 商家uid type tinyint 2 not null def...

php中獲取數字金額 php 中對金額數值處理

在開發過程中,我們經常需要處理一些金額數值,一般將其格式化為保留兩位小數點。在php中,有number format round 這麼兩個函式可以使用。最直接的是round 這個函式,其作用是對浮點數進行四捨五入。round x,prec 第乙個引數是需要進行四捨五入的數值,第二個引數是要保留的小數...