需要帮助将公式转换为C#

时间:2015-02-01 13:37:58

标签: c#

我得到了这个公式,

  

R / Rs =(5800/9500) 2 (2.512 3.37 1/2 = 1.76

如何将其转换为C#以使其值为1.76。不明白你用2和1/2做什么?

公式来自http://skyserver.sdss.org/dr5/en/proj/advanced/hr/radius1.asp

3 个答案:

答案 0 :(得分:3)

您正在寻找Math.Pow

Math.Pow(5800d/9500d, 2)*Math.Pow(Math.Pow(2.512, 3.37),0.5);

使用5800d/9500d在这里很重要(强制加倍,​​其中一个d应该这样做),否则会进行整数除法,留下0^2并且整体为0 ...

如果你把它放到一个方法中,取一个应该是无关紧要的双重值。

答案 1 :(得分:2)

你可以这样做:

double res = Math.Pow(5800 / 9500d, 2) *  Math.Sqrt(Math.Pow(2.512, 3.37));
Console.WriteLine(res.ToString("0.00"));

输出:

1.76

Working demo

0.5的力量是平方根。

答案 2 :(得分:1)

及其

double i = 5800.0 / 9500;
i = Math.Pow(i, 2);

double x = Math.Pow(2.512, 3.37);
x = Math.Sqrt(x);

x = x * i;

x = Math.Round(x, 2);

enter image description here

OR

Math.Round(Math.Pow(5800.0 / 9500, 2) * Math.Sqrt(Math.Pow(2.512, 3.37)), 2)

这里的诀窍在于第一行本身。如果你将5800除以9500,它将返回零,因为除法将以整数形式出现。因此,要进行实际除法,得到分数为1,必须将值转换为十进制,我将5800转换为5800.0