• ベストアンサー

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;} とやってみたのですがダメでした・・。 お願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

x=x%360;

p-aimar
質問者

お礼

すばやい回答ありがとうございました!!!

その他の回答 (2)

  • batai
  • ベストアンサー率40% (18/44)
回答No.3

No.2です。 書き込み時間がNo.1の方と重複してましたので見れなかったのですが、No.1の方の書き方の方が簡単ですね。 x = x % 360; これだけでxが1000度の場合勝手に280度になりますね。

p-aimar
質問者

お礼

ありがとうございました!! こんなに簡単なんですね! もっと勉強します!!!

  • 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度がめでたく入るわけです。