- ベストアンサー
360度を超える角度
角度がだんだん増えていくプログラムで 、角度が360度を超えてしまう場合、0+<=x<360で表示したいのですがどうすればいいでしょうか? (例えば1050度を330度と表示したい) if elseを使って if(x>=1080){ x=x-1080; } if else(x>=720){ x=x-720; } とやっていけばできるのですが、これでは1440度(360*4度)以上は360を超えてしまします。 for文でtを増やして、 if(x>=360*t){ x=x-360*t;} とやってみたのですがダメでした・・。 お願いします
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
x=x%360;
その他の回答 (2)
- batai
- ベストアンサー率40% (18/44)
回答No.3
No.2です。 書き込み時間がNo.1の方と重複してましたので見れなかったのですが、No.1の方の書き方の方が簡単ですね。 x = x % 360; これだけでxが1000度の場合勝手に280度になりますね。
質問者
お礼
ありがとうございました!! こんなに簡単なんですね! もっと勉強します!!!
- batai
- ベストアンサー率40% (18/44)
回答No.2
javaはわかりませんが、Cでの書き方を思いつきました。参考になりましたら。 int d,x; // xが求める角度 d = x / 360; x = x - 360*d; これでOKだと思います。 例えばxが1000度の場合、1000 / 360 = 2.77・・ なのでdにはその整数部分の2が入ります。dはint型で宣言しているからです。もし不安ならint型にキャストしてもいいでしょう。 これでx = 1000 - 360 * 2 つまりxには280度がめでたく入るわけです。
お礼
すばやい回答ありがとうございました!!!