方案:十进制数的精度

Dev*_*xit 2 precision scheme decimal

我怎么能转换42.042.00方案?
例如(在方案中):
当我这样做时(/ 20.00 2),我得到了10.0.我想要10.00作为上面的结果而不是10.0

Asu*_*awa 6

Óscar的解决方案效果很好,但更简单的解决方案是使用SRFI-48,它提供了额外的格式指令.

(display (format "~0,2F" (/ 20.00 2)))


Mat*_*ard 5

10.0和表示的对象10.00是相同的.在R5RS Scheme中没有固定精度的十进制数.你需要什么固定精度?如果它与输出相关,则需要进行某种格式化打印.检查您的Scheme实现的文档printfformat函数.另一方面,如果您实际上需要十进制算术,则需要使用精确比率并根据您要使用的规则明确舍入,或者使用整数并将它们视为大小为1/100的单位.