地震の予測マップ

地震発生ヶ所をポイント予測

Rubyコーディングあれこれ (初めての方むけ: floatカウンタを作る)

  本地震の予測マップ・プログラムはRubyで書かれていますが、以前から初めての方むけにコーディングテクのようなモノをまとめておければ、と考えていました。 そこで思い付くままにまとめてみよう、と考えております。

今回は、地震の予測マップ・プログラムを作っていて初めて遭遇した件で、floatカウンタの作り方です。 (短くまとめます)

 

普通に変数をfloatで取り0.1ピッチでカウンタアップさせると:

ctr = 1.0

while 2.0 > ctr do

p ctr       # 最初は良いが途中から 1.2000000000000002 と端数が付き始める

  ctr += 0.1

end

 

そこで10倍した整数でカウントアップし、それをfloatにして10.0で割ると

ctr = 10

while 20 > ctr do

   tmp = ctr.to_f/10.0

p tmp      # 1.0  1.1  1.2 と正常にカウントアップする

  ctr += 1

end

 

端数をストリングにしてから外すとかbigdecimalを使うといった方法がwebに乗っていましたが、私はこれで構築しました。 北緯、東経をカウントアップさせる時に使っています。

この辺り、色々な方法があるようです。

 

以上です。