球拍 - 检索数字的小数部分

时间:2014-09-11 19:03:57

标签: scheme racket

我正在寻找一个数字的小数部分。 IE浏览器。如果我给出了数字3.14。我需要输出为0.14或14.

我需要在不使用圆形,地板或天花板的内置功能的情况下完成此操作。

2 个答案:

答案 0 :(得分:1)

对于偷偷摸摸的解决方案,您可以使用正则表达式裁剪点之前的所有内容:

(define (fraction-only num)
  (string->number (regexp-replace #rx".*(\\..*)" (number->string num) "\\1")))

答案 1 :(得分:1)

一个简单的解决方案(假设你可以使用truncate)是这样的:

(define (fract-part n)
    (- n (truncate n)))

虽然会有通常的浮点数学舍入错误,因此(fract-part 3.14)会返回0.14000000000000012