【问题标题】:R5RS - Display number from operation as decimalR5RS - 以十进制显示操作数
【发布时间】:2020-01-19 18:29:16
【问题描述】:

我想将一个数字显示为小数,但它一直显示为分数

例子

(/ 7 9) ; --> displays as 7/9 but should be .77777

我已经尝试过内置的#d,但它似乎对运算结果不起作用,number->real 和其他变体也一样

【问题讨论】:

    标签: scheme r5rs


    【解决方案1】:

    为此,您可以使用exact->inexact 过程:

    (exact->inexact (/ 7 9))
    => 0.77777778
    

    【讨论】:

    • 那行得通。对于看似基本的任务,我发现语法有点长。你知道是否有办法将所有结果显示为小数?
    • 不,默认情况下,Scheme 将尝试进行精确的算术运算。这是冗长的,当然,但exact->inexact 是唯一的出路。好吧,除非你从一开始就改用小数:(/ 7.0 9.0)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 2016-01-27
    • 2014-05-24
    • 2014-03-11
    相关资源
    最近更新 更多