2011-10-16 81 views
1

我對項目有奇怪的要求。如何將數字向下舍入到一個範圍

我有一個包含30列的HTML表 - 每列顯示爲一個實心欄,其高度設置爲列的值。列的最大值設置爲200.每列都是動態生成的,有時候這些值超過了200(例如680,340,210等)。

我想知道的是如何將這個數字降低到200以下?這個總和需要適用於所有的每一列。所以,value = x的200%。

任何想法?

+0

你有什麼標記?如果沒有JavaScript,我不認爲這是可能的。 –

+0

您需要*規範化*。取最大值(數據集的最大值 - 這是動態的,必須計算的,或最大可能的,這是靜態的),並將每個實際值除以該最大值,再乘以列高。所以'renderedHeight = actualValue/max * columnHeight' – davin

+0

@davin謝謝,工作!如果你創建了一個真正的答案,我可以接受它作爲正確的答案。 – SeanNieuwoudt

回答

1

您需要正常化。取最大值(數據集的最大值 - 即動態且必須計算的值,或最大可能值,即靜態值),並將每個實際值除以該最大值,再乘以列高度:

renderedHeight = actualValue/max * columnHeight

0

這是可能的使用JavaScript及其Math函數。或者只是一個簡單的if聲明。

if (value > 200){ 
    value = 200; 
} 
相關問題