c# - 将百分比转换为最接近的分数

标签 c# percentage fractions

我们有一个数据密集型系统。它存储原始数据,然后根据正确响应数/总试验数计算百分比。

最近我们有客户想将旧数据导入我们的系统。

我需要一种方法将百分比转换为最接近的分数。

例子。

  1. 33% 需要给我 2/6。即使 1/3 是 .33333333
  2. 67% 需要给我 4/6。即使 4/6 是 .6666667

我意识到我可以将其计算为 67/100,但这意味着我必须向系统添加 100 个数据点,而 6 个就足够了。

有没有人有什么想法?

编辑 分母可以是任何东西。他们给了我一个原始的、四舍五入的百分比,我试图用原始数据尽可能接近它

最佳答案

您的要求是矛盾的:一方面,您希望“将百分比转换为最接近的分数”(*),但另一方面,您希望分数具有较小的(最)数字。您需要在何时/如何降低精度以支持较小的数字方面找到一些折衷方案。您的问题目前无法解决。

(*) 任何给定(整数)百分比 n 的最接近分数 f 是 n/100。根据定义。

关于c# - 将百分比转换为最接近的分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14320891/

相关文章:

条形宽度的 Javascript 百分比计算

c++ - 将八进制分数转换为十进制 - C++

c++ - 重载运算符 C++ : Why is denominator being multiplied by 10

c - 如何获得修改任何参数的函数?

c# - 动画 : Sliding & Fading controls on a C# form (winforms)

c# - 使用 Rhino.Mocks stub 属性 setter 以在调用时执行操作?

mysql - 计算已完成任务的百分比总计 mysql

python - 如何提取 Python 列表中一定比例的均匀分布的元素?

c# - 改进算法执行时间

c# - 如何使用WMI获取USB设备的盘符