Как вернуть число с плавающей запятой с двумя цифрами после десятичной точки? - PullRequest
5 голосов
/ 15 сентября 2011

У меня есть простая функция

f :: Float -> Float
f x = x

Prelude> f 5.00
5.0

Почему бы не 5.00? Как мне этого добиться?

Ответы [ 2 ]

7 голосов
/ 15 сентября 2011

Если вы хотите что-то из base, используйте showGFloat:

 > import Numeric
 > showGFloat (Just 2) 1.99438 ""
 "1.99"
 > :t showGFloat
 showGFloat :: RealFloat a => Maybe Int -> a -> ShowS
5 голосов
/ 15 сентября 2011

Вы можете использовать printf

printf "%.2f" (f :: Float)
...