本文介绍了使用"printf"在Haskell的清单上的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在列表中使用 printf ?我有一个数字列表,我想通过遵循一种格式(例如:%.3f )将它们全部打印出来.我试图在 printf 上使用map,但是它不起作用.所以,我不知道.有人可以帮我吗?任何想法都是可以接受的.有没有一种方法可以从列表中创建符合自定义格式的字符串?

How can i use printf over a list?I have a list of numbers and i want to print them all by respecting a format (ex: %.3f). I tried to use map over printf, but it does not work. So, i have no idea. Can somebody help me with this? Any ideas are acceptable. Is there a way to create a string from a list respecting a custom format?

推荐答案

printf 可以生成字符串,而不仅仅是将其打印到stdout.这是因为它的结果类型超载(它也是机器的一部分使其变幻无常.)

printf can produce strings instead of just printing them to stdout. Thisis because it is overloaded on its result type (it's also part of machinerythat makes it variadic).

import Text.Printf

main :: IO ()
main = putStrLn . unwords $ printf "%.3f" <$> ([1..10] :: [Double])

应该可以解决问题.

BTW, printf 的类型不安全,并且在运行时可能会崩溃.我建议你用就像是 格式化 .

BTW, printf is not type safe and can blow at run time. I recommend you usesomething likeformatting.

这篇关于使用"printf"在Haskell的清单上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-11 03:39