rat*_*eer 5 c c++ floating-point
我用asin来计算角度.代码如下:
double FindAngle(const double theValue)
{
return asin(theValue);
}
Run Code Online (Sandbox Code Playgroud)
当参数theValue = -0.0时,FindAngle返回-0.0(有符号零).现在,我如何摆脱返回值的减号.
您可以执行以下操作:
double FindAngle(const double theValue)
{
return (asin(theValue) + 0.0);
}
Run Code Online (Sandbox Code Playgroud)
我有同样的问题,这对我有用.
如果您只想将-0转换为0并保持其他未触及,请进行比较.
double FindAngle(double value) {
double res = asin(value);
if (res == 0.0) res = 0.0;
return res;
}
Run Code Online (Sandbox Code Playgroud)
如果您希望所有结果均为正值,请在返回值上包含<cmath>并使用该abs函数,或者检查您的返回值是否等于 -0.0 并获取abs它的值(对于这种情况)。