我们有一个数据密集型系统。它存储原始数据,然后根据正确响应数/总试验数计算百分比。
最近我们有客户想将旧数据导入我们的系统。
我需要一种方法将百分比转换为最接近的分数。
例子。
- 33% 需要给我 2/6。即使 1/3 是 .33333333
- 67% 需要给我 4/6。即使 4/6 是 .6666667
我意识到我可以将其计算为 67/100,但这意味着我必须向系统添加 100 个数据点,而 6 个就足够了。
有没有人有什么想法?
编辑 分母可以是任何东西。他们给了我一个原始的、四舍五入的百分比,我试图用原始数据尽可能接近它
最佳答案
您的要求是矛盾的:一方面,您希望“将百分比转换为最接近的分数”(*),但另一方面,您希望分数具有较小的(最)数字。您需要在何时/如何降低精度以支持较小的数字方面找到一些折衷方案。您的问题目前无法解决。
(*) 任何给定(整数)百分比 n 的最接近分数 f 是 n/100。根据定义。
关于c# - 将百分比转换为最接近的分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14320891/