// vi:ts=4:sts=4:sw=4:noet:tw=72 package util import ( "bytes" "strconv" "strings" ) func ToInt(v interface{}) int { switch v.(type) { case int: return v.(int) case float64: return int(v.(float64)) case string: ret, _ := strconv.Atoi(v.(string)) return ret default: return 0 } } func NumberToString(n int, sep rune) string { start := 0 var buf bytes.Buffer s := strconv.Itoa(n) if n < 0 { start = 1 buf.WriteByte('-') } l := len(s) ci := 3 - ((l - start) % 3) if ci == 3 { ci = 0 } for i := start; i < l; i++ { if ci == 3 { buf.WriteRune(sep) ci = 0 } ci++ buf.WriteByte(s[i]) } return buf.String() } func ReplaceUmlauts(s string) string { ret := strings.Replace(s, "Ä", "Ae", -1) ret = strings.Replace(ret, "Ö", "Oe", -1) ret = strings.Replace(ret, "Ü", "Ue", -1) ret = strings.Replace(ret, "ä", "ae", -1) ret = strings.Replace(ret, "ö", "oe", -1) ret = strings.Replace(ret, "ü", "ue", -1) ret = strings.Replace(ret, "ß", "ss", -1) return ret }