package core import ( "fmt" "strings" ) func FormatEuros(balance int64) string { prefix := "" if balance < 0 { prefix = "- " balance = -balance } n := float64(balance) / 100 s := fmt.Sprintf("%.2f", n) // "1234567.89" parts := strings.Split(s, ".") intPart := parts[0] fracPart := parts[1] var result strings.Builder numberOfSeperators := len(intPart) % 3 if numberOfSeperators == 0 { result.WriteString(intPart) } else { for i := range intPart { if i > 0 && (i-numberOfSeperators)%3 == 0 { result.WriteString(",") } result.WriteByte(intPart[i]) } } return prefix + result.String() + "." + fracPart + " €" }