Ответ 1
Да, это в модуле Text.Printf, и он просто называется printf
.
> import Text.Printf
> let x = 1.14907259
> putStrLn . printf "%.2f" $ x
1.15
Обратите внимание, что возвращаемый тип printf
перегружен, поэтому он способен возвращать String
(как в примере выше), но также способен возвращать действие ввода-вывода, которое выполняет печать, поэтому вы на самом деле не нужен вызов putStrLn
:
> printf "%.2f\n" x
1.15