小数点を含む割り算の計算結果が思い通りになりません。

例えば、 670 ÷ 0.67 としたとき 1000 になってほしいのですが、 999.9999999999999 となってしまいます。

$ ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18]

$ irb
irb(main):001:0> 670 / 0.67
=> 999.9999999999999

Node.jsでも同じでした。

$ node
Welcome to Node.js v12.1.0.
Type ".help" for more information.
> 670 / 0.67
999.9999999999999

割り切れる数値だけ扱うプログラムなのですがうまく作れずに困っています。
こんな簡単な計算で躓くと思っていなかったので、小数を扱うときに気をつけることがいろいろありそうで不安です。

なぜこのような計算ができないのか、またどのように処理を書くのが正しいのか教えていただけると幸いです。

環境はmacOSです。