change return type to float

Dieser Commit ist enthalten in:
o.pinke 2025-06-10 16:18:07 +02:00
Ursprung c38e6d4276
Commit bb0d28273b

Datei anzeigen

@ -4,15 +4,15 @@ import (
"fmt"
language2 "golang.org/x/text/language"
"golang.org/x/text/message"
"strconv"
)
func Separate(Number interface{}, language ...string) (string, error) {
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))
formattedNumber := ""
switch n := Number.(type) {
case int:
@ -24,88 +24,14 @@ func Separate(Number interface{}, language ...string) (string, error) {
case float64:
default:
return "", fmt.Errorf("%T is no valid number format", n)
return 0, fmt.Errorf("%T is no valid number format", n)
}
formattedNumber = p.Sprintf("%f", Number)
formattedNumber, err := strconv.Atoi(p.Sprintf("%d", Number))
/**
formattedNumber := fmt.Sprintf("%.2f", Number)
if len(language) < 1 {
language[0] = "en"
if err != nil {
return 0, err
}
switch language[0] {
case "de":
formattedNumber = strings.ReplaceAll(formattedNumber, ",", ".")
dec := ""
if strings.Index(formattedNumber, ".") != -1 {
dec = formattedNumber[strings.Index(formattedNumber, ".")+1 : len(formattedNumber)]
formattedNumber = formattedNumber[0:strings.Index(formattedNumber, ".")]
}
for i := 0; i <= len(formattedNumber); i = i + 4 {
a := formattedNumber[0 : len(formattedNumber)-i]
b := formattedNumber[len(formattedNumber)-i : len(formattedNumber)]
formattedNumber = a + "." + b
}
if formattedNumber[0:1] == "." {
formattedNumber = formattedNumber[1:len(formattedNumber)]
}
if formattedNumber[len(formattedNumber)-1:len(formattedNumber)] == "." {
formattedNumber = formattedNumber[0 : len(formattedNumber)-1]
}
if dec != "" {
formattedNumber = formattedNumber + "," + dec
}
return formattedNumber, nil
case "en":
formattedNumber = strings.ReplaceAll(formattedNumber, ",", "")
dec := ""
if strings.Index(formattedNumber, ".") != -1 {
dec = formattedNumber[strings.Index(formattedNumber, ".")+1 : len(formattedNumber)]
formattedNumber = formattedNumber[0:strings.Index(formattedNumber, ".")]
}
for i := 0; i <= len(formattedNumber); i = i + 4 {
a := formattedNumber[0 : len(formattedNumber)-i]
b := formattedNumber[len(formattedNumber)-i : len(formattedNumber)]
formattedNumber = a + "," + b
}
if formattedNumber[0:1] == "," {
formattedNumber = formattedNumber[1:len(formattedNumber)]
}
if formattedNumber[len(formattedNumber)-1:len(formattedNumber)] == "," {
formattedNumber = formattedNumber[0 : len(formattedNumber)-1]
}
if dec != "" {
formattedNumber = formattedNumber + "." + dec
}
return formattedNumber, nil
}
*/
return formattedNumber, nil
return float64(formattedNumber), nil
}