go-thousands/thousands.go
2025-06-10 16:18:07 +02:00

37 Zeilen
669 B
Go

package thousands
import (
"fmt"
language2 "golang.org/x/text/language"
"golang.org/x/text/message"
"strconv"
)
func Separate(Number interface{}, language ...string) (float64, 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 0, fmt.Errorf("%T is no valid number format", n)
}
formattedNumber, err := strconv.Atoi(p.Sprintf("%d", Number))
if err != nil {
return 0, err
}
return float64(formattedNumber), nil
}