change return type to float
Dieser Commit ist enthalten in:
Ursprung
c38e6d4276
Commit
bb0d28273b
1 geänderte Dateien mit 7 neuen und 81 gelöschten Zeilen
88
thousands.go
88
thousands.go
|
@ -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
|
||||
}
|
||||
|
|
Laden …
In neuem Issue referenzieren