【发布时间】:2016-08-28 15:07:34
【问题描述】:
我需要将要打印的数字列表除以 100,例如:
map (/100) [29, 3, 12]
产生:
[0.29,3.0e-2,0.12]
不过我需要:
[0.29,0.03,0.12]
我如何在 Haskell 中做到这一点?任何想法都非常感谢。
【问题讨论】:
-
3.0e-2 相当于 0.03。它们是相同的数字。您是在谈论打印这些数字还是完全其他内容?
-
我知道 3.0e-2 相当于 0.03,我需要更常用的打印格式。 (每当我问一个问题时,我被打分了,我有没有惹恼别人?)
-
这是一个格式问题(由
Text.Printf.printf处理)。关于你的问题的分数:标题和内容根本不匹配。一个更好的标题应该是“如何以某种格式显示小数”或“如何在小数输出中避免科学记数法”。 -
@JulesMazur:错误,
0.0625可以准确表示(它是 2^{-4}),但仍显示为6.25e-2。只是当分隔符后的第一个数字为零时,Double的Show实例将切换到科学模式。 -
@IanStewart:没有。尝试
(3 / 10) * 100000000000000000000000并感到惊讶。