Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- octF :: Integral a => a -> Builder
- binF :: Integral a => a -> Builder
- baseF :: (HasCallStack, Integral a) => Int -> a -> Builder
- floatF :: Real a => a -> Builder
- exptF :: Real a => Int -> a -> Builder
- fixedF :: Real a => Int -> a -> Builder
- commaizeF :: (Buildable a, Integral a) => a -> Builder
- ordinalF :: (Buildable a, Integral a) => a -> Builder
- groupInt :: (Buildable a, Integral a) => Int -> Char -> a -> Builder
- atBase :: Integral a => Int -> a -> String
- showSigned' :: Real a => (a -> ShowS) -> a -> ShowS
- intToDigit' :: Int -> Char
Documentation
>>>
import Fmt
octF :: Integral a => a -> Builder Source #
Format a number as octal:
>>>
listF' octF [7,8,9,10]
"[7, 10, 11, 12]"
binF :: Integral a => a -> Builder Source #
Format a number as binary:
>>>
listF' binF [7,8,9,10]
"[111, 1000, 1001, 1010]"
baseF :: (HasCallStack, Integral a) => Int -> a -> Builder Source #
Format a number in arbitrary base (up to 36):
>>>
baseF 3 10000
"111201101">>>
baseF 7 10000
"41104">>>
baseF 36 10000
"7ps"
floatF :: Real a => a -> Builder Source #
Format a floating-point number:
>>>
floatF 3.1415
"3.1415"
Numbers smaller than 1e-6 or bigger-or-equal to 1e21 will be displayed using scientific notation:
>>>
listF' floatF [-1.2,-12.2]
"[-1.2, -12.2]">>>
listF' floatF [1e-6,9e-7]
"[0.000001, 9.0e-7]">>>
listF' floatF [9e20,1e21]
"[900000000000000000000.0, 1.0e21]"
exptF :: Real a => Int -> a -> Builder Source #
Format a floating-point number using scientific notation, with the given amount of decimal places.
>>>
listF' (exptF 5) [pi,0.1,10]
"[3.14159e0, 1.00000e-1, 1.00000e1]"
fixedF :: Real a => Int -> a -> Builder Source #
Format a floating-point number without scientific notation:
>>>
listF' (fixedF 5) [pi,0.1,10]
"[3.14159, 0.10000, 10.00000]"
commaizeF :: (Buildable a, Integral a) => a -> Builder Source #
Break digits in a number:
>>>
commaizeF 15830000
"15,830,000"
ordinalF :: (Buildable a, Integral a) => a -> Builder Source #
Add an ordinal suffix to a number:
>>>
ordinalF 15
"15th">>>
ordinalF 22
"22nd"
intToDigit' :: Int -> Char Source #