Как избавиться от знака "минус" от нуля со знаком

Я использую asin для вычисления угла. Код как указано ниже:

double FindAngle(const double theValue)
{
     return asin(theValue);
}

FindAngle возвращает-0.0 (подписанный нуль), когда аргумент theValue =-0.0. Теперь, как я избавляюсь от знака "минус" от возвращаемого значения.

5
задан ratnaveer 18 January 2010 в 09:45
поделиться

3 ответа

Если вы просто хотите преобразовать -0 до 0 и оставить другие нетронутыми, просто сделайте сравнение.

double FindAngle(double value) {
    double res = asin(value);
    if (res == 0.0) res = 0.0;
    return res;
}
6
ответ дан 18 December 2019 в 09:50
поделиться
double FindAngle(const double theValue)
{
    return abs(asin(value));
}
0
ответ дан 18 December 2019 в 09:50
поделиться

включите и используйте функцию abs на вашем возвращаемом значении, если хотите, чтобы все результаты были положительными, или проверьте, не равно ли ваше возвращаемое значение равно -0. 0 и возьмите его значение abs.

abs функция (c++ ссылка)

3
ответ дан 18 December 2019 в 09:50
поделиться