我需要能够按百分比编辑整数类型的权重值。权重和百分比
例如: 我得到了以下的权重:
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