32 Zeilen
593 B
Go
32 Zeilen
593 B
Go
package thousands
|
|
|
|
import (
|
|
"fmt"
|
|
language2 "golang.org/x/text/language"
|
|
"golang.org/x/text/message"
|
|
)
|
|
|
|
func Separate(Number interface{}, language ...string) (string, error) {
|
|
|
|
lang := map[string]string{"de": "German", "en": "English"}
|
|
useLang := lang[language[0]]
|
|
|
|
p := message.NewPrinter(language2.Make(useLang))
|
|
|
|
switch n := Number.(type) {
|
|
case int:
|
|
case int8:
|
|
case int16:
|
|
case int32:
|
|
case int64:
|
|
case float32:
|
|
case float64:
|
|
|
|
default:
|
|
return "", fmt.Errorf("%T is no valid number format", n)
|
|
}
|
|
|
|
formattedNumber := p.Sprintf("%d", Number)
|
|
|
|
return formattedNumber, nil
|
|
}
|