【问题标题】:How to Perform Square Root Calculation Involving Decimals [duplicate]如何执行涉及小数的平方根计算
【发布时间】:2019-10-30 03:48:44
【问题描述】:

当平方根的默认返回类型实际上是双精度时,如何使用十进制输入执行经济订货量的平方根计算?

我尝试使用类似问题How can I improve this square root method? 中建议的方法,但它与我的问题没有相似的上下文。我尝试过强制转换为十进制,但它似乎不起作用。

public class Sample
    {
        public int AnnualSalesUnits { get; set; }
        public decimal OrderCost { get; set; }
        public decimal HoldingRate { get; set; }
        public decimal UnitCost { get; set; }
        public decimal EconomicOrderQuantity => Math.Sqrt((2 * OrderCost * AnnualSalesUnits) / ((HoldingRate / 100) * UnitCost));

    }   

有人可以帮我重写这个公式来解释十进制输入吗?

【问题讨论】:

    标签: c# .net discrete-mathematics


    【解决方案1】:

    您可以按如下方式声明您的属性 EconomicOrderQuantity:

    public decimal EconomicOrderQuantity
    {
      get 
      {
        decimal numerator = (2 * OrderCost * AnnualSalesUnits * 100);
        decimal denominator = (HoldingRate * UnitCost);
        decimal fraction = Convert.ToDecimal(numerator / denominator);
        double final = Math.Sqrt(Convert.ToDouble(fraction));
        return Convert.ToDecimal(final);
      }
    }
    

    您需要先执行一些转换,以确保允许正确的数据类型执行所需的计算。

    请注意,我还以更线性的方式重写了数学公式,以便更好地理解计算流程。

    【讨论】:

    • 太棒了!完美运行..
    猜你喜欢
    • 2020-09-26
    • 1970-01-01
    • 1970-01-01
    • 2018-09-25
    • 1970-01-01
    • 2018-07-19
    • 1970-01-01
    • 2012-08-31
    相关资源
    最近更新 更多