【问题标题】:printf %6.2f in scheme or racket?printf %6.2f 在计划或球拍中?
【发布时间】:2014-11-21 22:46:39
【问题描述】:

您如何在方案或球拍中获得printf %6.2f,就像在 C 中一样?

现在我只有printf "The area of the disk is ~s\n" ( - d1 d2),但我无法将输出格式化为特定的浮点格式。

谢谢

【问题讨论】:

    标签: scheme racket


    【解决方案1】:

    要获得更接近 C 的 printf() 函数的行为,请使用 SRFI-48 提供的 format 过程,如下所示:

    (require srfi/48)
    (format "The area of the disk is ~6,2F~%" (- d1 d2))
    

    更详细的替代方法是使用 Racket 的内置 ~r 过程,正如 @stchang 所建议的那样:

    (string-append
     "The area of the disk is "
     (~r (- d1 d2) #:min-width 6 #:precision '(= 2))
     "\n")
    

    【讨论】:

    • scheme 中,您只需在导入中包含(srfi :48) 而不是require 表单。
    • 也许我应该就此提出一个单独的问题,但是,“srfi/48”是一个好名字吗?在其他语言中,您需要“文本”或“格式”。
    【解决方案2】:

    球拍有~r

    您可能需要提供 #:min-width#:precision 参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多