首页 > 解决方案 > 如何将数字转换为字符串

问题描述

我不知道我的代码或语言有什么问题,(/ 1 2)在球拍中将计算为 1/2,但它打印为 0.5,我需要将数字转换为字符串,所以没有斜线,我知道它是 1/2 因为我看到了脚步声。

我不能分享我的代码我很抱歉,这是一个作业问题,但我问的是一般的东西,所以没关系。

标签: racket

解决方案


您可以将一个数字拆分为分子和分母,然后在它们的字符串表示之间添加“/”以获得分数。

(define n1 1/2)
(define n2 (/ 1 2))

(define (frac->str n)
  (string-append
   (number->string (numerator n))
   "/"
   (number->string (denominator n))))


(frac->str n1)
; => "1/2"
(frac->str n2)
; => "1/2"

推荐阅读