// выставляем точку отчёта
float a_t_pitch = _direction; // точка отрисовки
a_t_pitch = a_t_pitch - 80.0; // отклад 80 градусов
if(a_t_pitch < 0)
a_t_pitch = a_t_pitch + 360.0;
qDebug() << a_t_pitch;
float a = 0;
for(;a<=160.0;a= a+0.1)
{
if (a_t_pitch >= 360.0){
a_t_pitch = a_t_pitch - 360.0; }
if (a_t_pitch <= -0.1)
a_t_pitch = a_t_pitch + 360.0;
if(((int)a_t_pitch % (int)30.0) == 0)
{
qDebug() << "позиция " << a_t_pitch;
}
a_t_pitch= a_t_pitch +0.1;
}
这就是它给我的:
280
позиция 300.001
позиция 300.101
позиция 300.201
позиция 300.301
позиция 300.401
позиция 300.501
позиция 300.601
позиция 300.701
позиция 300.801
позиция 300.901
позиция 330.003
позиция 330.103
позиция 330.203
позиция 330.303
позиция 330.403
позиция 330.503
позиция 330.603
позиция 330.703
позиция 330.803
позиция 330.903
позиция 0.00488281
позиция 0.104883
позиция 0.204883
позиция 0.304883
позиция 0.404883
позиция 0.504883
позиция 0.604883
позиция 0.704883
позиция 0.804883
позиция 0.904883
позиция 30.005
позиция 30.105
позиция 30.205
позиция 30.305
позиция 30.405
позиция 30.505
позиция 30.605
позиция 30.705
позиция 30.805
позиция 30.905
позиция 60.0045
позиция 60.1045
позиция 60.2045
позиция 60.3045
позиция 60.4045
позиция 60.5045
позиция 60.6045
позиция 60.7045
позиция 60.8045
позиция 60.9045
如何修复这个逻辑(最好是这一行if(((int)a_t_pitch % (int)30.0) == 0)
),使其不接受像 0.00488281 这样的值
其实有必要拿出来,五次
позиция 300
позиция 330
позиция 0
позиция 30
позиция 60
总的来说,利用了@wololo 的回答
这是通过 int 的第二个选项