diff --git a/parsing.go b/parsing.go index 230e82b..8018df5 100644 --- a/parsing.go +++ b/parsing.go @@ -72,8 +72,18 @@ func TimeToValue(time time.Time) string { func MoneyCentsToString(money int, currency string, lang Language) string { beforeDecimals := money / 100 afterDecimals := money % 100 - if lang == De { - return fmt.Sprintf("%d,%d %s", beforeDecimals, afterDecimals, currency) + + if afterDecimals == 0 { + // Only show whole numbers when cents are 0 + if lang == De { + return fmt.Sprintf("%d %s", beforeDecimals, currency) + } + return fmt.Sprintf("%s%d", currency, beforeDecimals) } - return fmt.Sprintf("%s%d.%d", currency, beforeDecimals, afterDecimals) + + // Show cents with leading zero when < 10 (always two digits) + if lang == De { + return fmt.Sprintf("%d,%02d %s", beforeDecimals, afterDecimals, currency) + } + return fmt.Sprintf("%s%d.%02d", currency, beforeDecimals, afterDecimals) }