如何进行包含小数的平方根计算

问题描述 投票:0回答:1

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

我尝试使用类似问题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个回答
0
投票

您可以按以下方式声明您的财产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);
  }
}

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

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

© www.soinside.com 2019 - 2024. All rights reserved.