我的用户会编辑范围,我必须计算一个新的百分比和乘数值。还有疑惑吗?以下是一个例子:
乘数:25000 苹果 百分比:400(这相当于0.4%或0.004) 范围:100.0 苹果(由乘数*百分比计算得出)为了复杂化问题,百分比的允许值为0-100000。(意味着0-100%)乘数是介于1和32位int最大值之间的值(可能是无符号的)。
我需要允许用户输入范围,如下所示:
Range: .04 Apples
并计算出适当的百分比和乘数。以第一个例子为例:
原始乘数:25000个苹果 原始百分比:400(这相当于.4%或.004) 原始范围:100.0个苹果(通过乘数*百分比计算) 新范围:.01个苹果 新百分比:40 新乘数:25个苹果这个例子的计算很容易,只需要按照新旧范围的比例因子将乘数和百分比调整即可。当用户更改值为1400.00555之类的值时,问题就出现了。突然间我没有一种简单的方法来调整这两个值。
我需要一种算法方法来获取产生最接近所需范围的M和P值。有什么建议吗?