diff --git a/lib/Data/Format.hs b/lib/Data/Format.hs index 8adb892b29162a1aaec33038c0e6aa90ea22127e..15ea1a3094c7bb178585b66ebf5a0e66b6942c64 100644 --- a/lib/Data/Format.hs +++ b/lib/Data/Format.hs @@ -227,11 +227,11 @@ zeroPad Nothing s = s zeroPad (Just i) s = replicate (i - length s) '0' ++ s trimTrailing :: String -> String -trimTrailing "" = "" -trimTrailing "." = "" -trimTrailing s - | last s == '0' = trimTrailing $ init s -trimTrailing s = s +trimTrailing + = (\s -> if s == "." then "" else s) + . reverse + . dropWhile (== '0') + . reverse showNumber :: Show t => SignOption -> Maybe Int -> t -> Maybe String showNumber signOpt mdigitcount t =