我得到了这个公式,
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
答案 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
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);
OR
Math.Round(Math.Pow(5800.0 / 9500, 2) * Math.Sqrt(Math.Pow(2.512, 3.37)), 2)
这里的诀窍在于第一行本身。如果你将5800除以9500,它将返回零,因为除法将以整数形式出现。因此,要进行实际除法,得到分数为1,必须将值转换为十进制,我将5800转换为5800.0