如何在Racket中获得小数的余数?

时间:2016-11-23 01:19:57

标签: scheme racket arithmetic-expressions

我正在将Racket视为对lisp的友好介绍,但我遗漏了一些东西。我需要简化角度,所以我需要做的就是获得n mod 360.问题是n可能是小数。我查看了文档,但"remainder""modulo"都期望整数。

flonum module看起来很有希望,但看起来没有%函数。

我最终重新实现了它作为这个表达式,它运作良好:

(define (float-modulo n m)
  (- n (* (floor (/ n m)) m)))

但如果已经支持,我宁愿不这样做。

1 个答案:

答案 0 :(得分:2)

Racket通过rnrs/base-6库提供R6RS部门运营商,您可以这样做:

(require rnrs/base-6)
(mod 370.25 360)
> 10.25