2012-02-26 169 views
0

我正在用html/css/php創建水平條形圖。第一個值應該是100%,寬度爲425px。之後的每個值(較低)都需要計算其寬度,以425px的百分比計算。獲取寬度的數字百分比

所以說第一個值是63並獲得了425px(100%)的寬度。我需要找出下一個的寬度,如果下一個是50,然後31,27等...

我很好,標記等這是數學計算我試圖讓我的頭周圍。

+0

我沒有downvote ,但它有點偏離主題,是一個關於基本數學而不是編程的問題! – 2012-02-27 15:22:47

回答

2
function calc_width($max_width, $max_value, $value) { 
    return $max_width * $value/$max_value; 
} 

因爲$value/$max_width是適當的分數,你可以多通過分數的最大寬度得到適合以後值的寬度。

+0

感謝您的示例和說明琥珀! – iamjonesy 2012-02-26 22:43:53

2

除以總數由100

乘以百分比

425/100 = 4.25 

25% = 4.25 x 25 
1

將最高數字除以100得到一個百分比,然後乘以所需的百分比數量。

$maxWidth = 425; //The highest width 
$onePercentage = $maxWidth/100; //Calculate one percentage 
$values[31] = $onePercentage * 31; //Times 31 
1

人們很容易只是「100%鴻溝,並通過百分比乘以」說,但這是不正確因爲將導致從長遠來看,不準確。做到這一點的正確方法是維護寬度和百分比數組,並從開始和前一個累積寬度計算每個寬度。

,如果你願意,分裂29px成4份25%的例子:

29px * 25%= 7px的7px的的
4寬度等於28px

而且累計計算:

29px * 25%= 7px
29px * 50%= 15像素
29px * 75%=的22px
29px * 100%= 29px
4米寬度的7,8,如圖7所示,等於7px的29px