gpt4 book ai didi

c++ - 将负角度转换为正角度 : Involves invalid operand use

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:56:04 28 4
gpt4 key购买 nike

我正在尝试将负角度(以度为单位)转换为正角度。但是我收到一个编译错误:

test.cpp invalid operands of types 'double' and 'int' to binary 'operator%'
test.cpp invalid operands of types 'float' and 'int' to binary 'operator%'

我的代码:

double to_positive_angle(double angle)
{
return ((3600000 + angle) % 360);
}

float to_positive_angle(float angle)
{
return ((3600000 + angle) % 360);
}

这显然是因为我试图在 Float 和 Double 上使用模数运算符。

有什么方法可以成功地将负角( float )转换为正角( float )?或者我可以克服模数编译错误的方法?

最佳答案

此版本适用于所有可能的输入,而不仅仅是大于 3600000 的输入,并解决了您遇到的 % 问题。

double to_positive_angle(double angle)
{
angle = fmod(angle, 360);
if (angle < 0) angle += 360;
return angle;
}

关于c++ - 将负角度转换为正角度 : Involves invalid operand use,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16600152/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com