simple printf-style string formatting.
The Text.PercentFormat
library provides printf-style string formatting. It provides a %
operator (as in Ruby or Python) and uses the old C-printf-style format you know and love.
PercentFormat -- C-like printf-style string formatting for Haskell
The Text.PercentFormat
library provides printf-style string formatting. It provides a %
operator (as in Ruby or Python) and uses the old C-printf-style format you know and love.
This library differs from Text.Printf
in that it does not rely on custom typeclasses -- it works on anything that is a Show
instance.
Formatting one value:
> import Text.PercentFormat
> "Hello %s!" -% "World"
"Hello World!"
Formatting three values, tuple style, using -%%%
:
> "load average: %1.2f %1.2f %1.2f" -%%% (0.00, 0.066, 0.11)
"load average: 0.00 0.07 0.11"
Formatting three values, chain style, using %
and -%
:
> "load average: %1.2f %1.2f %1.2f" % 0.00 % 0.066 -% 0.11
"load average: 0.00 0.07 0.11"
To produce a string with a percent sign (%
), use two percent signs (%%
):
> "memory usage: %i%%" -% 13
"memory usage: 13%"
Percent signs are duplicated when using the %
operator to allow chaining:
> "percent sign: %s, memory usage: %i%%" % "%" % 87
"percent sign: %%, memory usage: 87%%"
Always use the -%
operator when formatting the last value to remove duplicate %
signs:
> "percent sign: %s, memory usage: %i%%" % "%" -% 87
"percent sign: %, memory usage: 87%"
To print, just prefix you format expression with putStrLn $
:
> putStrLn $ "Hello %s!" -% "World"
Hello World!
For more information and a detailed list of options, see PercentFormat's Haddock Documentation.
PercentFormat is a work in progress. Any help or pull requests are welcome. See PercentFormat's TO DO list for ideas on how to contribute.
Installing
To install the latest PercentFormat version from Hackage, just run:
$ cabal update
$ cabal install percent-format