26

レムはこれを与えます:

Prelude> rem 9 8
1

私はこのようなものが欲しかった:

Prelude> nonIntRem 9.1 8
1.0999999999999996

私は次のように実装しました:

nonIntRem x y = x - (y * (fromIntegral $ truncate (x/y)))

私の質問は次のとおりです。

  1. このようなものは、標準の Haskell ライブラリに既に存在しますか? 標準関数を使用したいのですが、それを見逃している可能性があります。
  2. そうでない場合、他の言語でこの関数のより標準的な名前はありますか? fmod かもしれませんが、この場合のネガの動作は mod ではなく、rem のようです。標準的な名前がない場合、この関数のより良い名前を考えてもらえますか?
  3. 正常に動作しているようですが、この機能に問題がある場合はお知らせください。
4

1 に答える 1

20

あなたが求めている機能はmod'fromData.Fixedです。

于 2012-12-25T05:29:43.647 に答える