From 9a95a674fbbf1e64d3ad07922d569c3a1c751cf2 Mon Sep 17 00:00:00 2001 From: Joris Date: Wed, 5 Apr 2017 17:04:33 +0200 Subject: Show aliments, glycemic index, carbohydrates and glycemic charge --- src/Format.purs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/Format.purs (limited to 'src/Format.purs') diff --git a/src/Format.purs b/src/Format.purs new file mode 100644 index 0000000..22593e5 --- /dev/null +++ b/src/Format.purs @@ -0,0 +1,29 @@ +module Format where + +import Data.Int (toNumber, fromNumber) +import Data.Array (replicate) +import Data.Maybe (fromMaybe) +import Data.String (length, joinWith) +import Math (round, trunc, pow) + +import Prelude + +number :: Int -> Number -> String +number decimalLength num = formattedIntegerPart <> formattedDecimalPart + where + formattedIntegerPart = + (if decimalLength > 0 then trunc num else round num) + # fromNumber + # fromMaybe 0 + # show + + formattedDecimalPart = + if decimalLength > 0 then + ((num - trunc num) * pow 10.0 (toNumber decimalLength)) + # round + # fromNumber + # fromMaybe 0 + # show + # \str -> "," <> (joinWith "" $ replicate (decimalLength - length str) "0") <> str + else + "" -- cgit v1.2.3