From 70a86aac84599bda0dd2dba15873c31dcc528390 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Tue, 10 Dec 2013 12:03:28 -0600 Subject: [PATCH] fix bug in number rendering --- .../drracket/drracket/private/ada.rkt | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pkgs/drracket-pkgs/drracket/drracket/private/ada.rkt b/pkgs/drracket-pkgs/drracket/drracket/private/ada.rkt index f3f3c3aad3..901348ae8b 100644 --- a/pkgs/drracket-pkgs/drracket/drracket/private/ada.rkt +++ b/pkgs/drracket-pkgs/drracket/drracket/private/ada.rkt @@ -79,18 +79,23 @@ bernoulli sequence (cond [(<= (string-length s) 3) s] [else - (reverse-string - (regexp-replace* #rx"[0-9][0-9][0-9]" - (reverse-string s) - "\\0,"))])) + (remove-leading-comma + (reverse-string + (regexp-replace* #rx"[0-9][0-9][0-9]" + (reverse-string s) + "\\0,")))])) + (define (reverse-string s) (list->string (reverse (string->list s)))) +(define (remove-leading-comma s) (regexp-replace #rx"^," s "")) + (module+ test (check-equal? (integer->string 0) "0") (check-equal? (integer->string 1) "1") (check-equal? (integer->string 100) "100") (check-equal? (integer->string 1000) "1,000") (check-equal? (integer->string 1234) "1,234") - (check-equal? (integer->string 1000000) "1,000,000")) + (check-equal? (integer->string 1000000) "1,000,000") + (check-equal? (integer->string 100000) "100,000")) #|