有人知道 fmod 的 C# 等价物是什么吗?我正在尝试将这行代码转换为 C#。
$lon_rad = fmod(($long1+$dlon_rad + M_PI), 2*M_PI) - M_PI;
这是我到目前为止所拥有的。我只需要转换的 fmod。
double lon_rad = ((lon1+dlon_rad + Math.PI), 2*Math.PI) - Math.PI;
有人知道 fmod 的 C# 等价物是什么吗?我正在尝试将这行代码转换为 C#。
$lon_rad = fmod(($long1+$dlon_rad + M_PI), 2*M_PI) - M_PI;
这是我到目前为止所拥有的。我只需要转换的 fmod。
double lon_rad = ((lon1+dlon_rad + Math.PI), 2*Math.PI) - Math.PI;
其他人给出了正确的运算符来使用,但没有给出完整的语法,这将是:
double lon_rad = ((lon1+dlon_rad + Math.PI) % (2*Math.PI)) - Math.PI;
使用对标准库的 P/Invoked 调用(从这里):
[DllImport("msvcrt.dll")]
static extern double fmod(double x, double y);
您是否尝试过 % 模数运算符?
public static double fmod(double dividend, double divisor )
{
double Modulus =
(Math.Abs(dividend) - (Math.Abs(divisor) *
(Math.Floor(Math.Abs(dividend) / Math.Abs(divisor))))) *
Math.Sign(dividend);
return Modulus;
}