diff --git a/racket/src/cs/rumble/number.ss b/racket/src/cs/rumble/number.ss index 7812428cb6..383466e645 100644 --- a/racket/src/cs/rumble/number.ss +++ b/racket/src/cs/rumble/number.ss @@ -329,6 +329,13 @@ (check who (lambda (radix) #f) :contract "(or/c 2 8 10 16)" radix)) + (when (and (not (eq? radix 10)) (inexact? n)) + (raise + (exn:fail:contract (string-append + "number->string: inexact numbers can only be printed in base 10\n" + " number: " (number->string n) "\n" + " requested base: " (number->string radix)) + (current-continuation-marks)))) (do-number->string n radix)] [(n) (do-number->string n 10)]))