我需要能夠按百分比編輯整數類型的權重值。權重和百分比
例如: 我得到了以下的權重:
Var Weight x 100 y 50 z 50 So z is 25% ,y is 25% and x is 50%
現在,如果我希望能夠編輯現有的重量或百分比輸入要添加新的重量,我怎麼能確保權重仍然是整數類型,我不會有任何需要的舍入。
例如,如果我想添加一個新的重量,這個重量將佔總重量的25%,我該如何計算? 請注意,我可以更改其他權重(增量/減量)以實現此目的。
但是這裏需要進行的必要條件是權重將保持整數,並且新/編輯權重的百分比將按照要求。
如果我沒得確保該權重將是整數那麼它很容易,我就可以用下面的公式:
NewWeight =(總* RequestedPerecentage)/(1-RequestedPerecentage)
但事實並非如此......
您可以顯示截斷形式的值,但將代碼中的值保存爲浮點數,只需將值顯示爲int時顯示值,如下所示:在c#中:var xValue =(int)x;' – 2013-02-19 14:40:12
是,但是這種方法最終我會失去精度...... – 2013-02-19 14:45:00
「通知我可以改變其他權重,以實現這一目標」。對於如何改變權重有沒有特別的限制?否則,問題很簡單。如果您嘗試將X%的權重添加到列表中,則將所有權重(除第一個權重之外)減爲0,並將第一權重遞增/遞減至(100-X)。以您的第一個示例爲例,結果爲x = 75,y = 0,z = 0,new_value = 25。 – Kevin 2013-02-19 14:49:02