如何在列表中使用printf
?
我有一个数字列表,我想通过尊重格式打印它们(例如:%.3f
)。我尝试使用printf
上的地图,但它不起作用。所以,我不知道。有人可以帮我这个吗?任何想法都可以接受。有没有办法从列表中创建一个关于自定义格式的字符串?
答案 0 :(得分:1)
printf
可以生成字符串,而不是只将它们打印到stdout。这个
是因为它的结果类型超载(它也是机器的一部分)
这使它成为可变的。)
import Text.Printf
main :: IO ()
main = putStrLn . unwords $ printf "%.3f" <$> ([1..10] :: [Double])
这应该可以解决问题。
BTW,printf
不是类型安全的,可以在运行时打击。我建议你使用
就像是
formatting