如何执行涉及小数的平方根计算

How to Perform Square Root Calculation Involving Decimals

当默认的 return 类型的平方根实际上是双精度时,如何使用小数输入对经济订单数量进行平方根计算?

我尝试使用类似问题 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));

    }   

谁能帮我重写这个公式来解释小数输入?

您可以声明您的 属性 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);
  }
}

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

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