diff --git a/Handler/Common.hs b/Handler/Common.hs index 9cff6a3..e24c111 100644 --- a/Handler/Common.hs +++ b/Handler/Common.hs @@ -5,6 +5,8 @@ import Data.FileEmbed (embedFile) import qualified Data.Text as T import qualified Data.Text.Lazy.Encoding as E import qualified Data.Text.Read as R +import Data.List (tail) +import Data.List.Split import Yesod.Form.Functions import Text.Shakespeare.Text import Network.Mail.Mime @@ -123,7 +125,12 @@ prependZero t0 = if T.null t1 where t1 = T.dropWhile ((==) ' ') t0 formatFloat :: Double -> Text -formatFloat = T.pack . (printf "%.2f") +formatFloat d = T.pack (t ++ c) + where + t = reverse (intercalate "." $ chunksOf 3 $ reverse $ fst sp) + c = "," ++ tail (snd sp) + sp = (break (== '.') (printf "%.2f" d)) + -- T.pack . (splitEvery 3) . (printf "%,2f") formatIntCurrency :: Int -> Text formatIntCurrency x = formatFloat $ ((fromIntegral x) / 100) diff --git a/yammat.cabal b/yammat.cabal index dee2fff..131a106 100644 --- a/yammat.cabal +++ b/yammat.cabal @@ -93,6 +93,7 @@ library , blaze-markup , wai , blaze-builder < 0.4.0.0 + , split executable yammat if flag(library-only)