From 1e52761665d751865d07261e0fed2afcd67dc736 Mon Sep 17 00:00:00 2001 From: Cornelius Rautenbach <cornel.rautenbach@gmail.com> Date: Sun, 19 Sep 2021 22:13:25 +0200 Subject: [PATCH] More string utils --- string_utils/string_utils.go | 51 ++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/string_utils/string_utils.go b/string_utils/string_utils.go index 2044eed..ba853cd 100644 --- a/string_utils/string_utils.go +++ b/string_utils/string_utils.go @@ -1,6 +1,8 @@ package string_utils import ( + "encoding/json" + "fmt" "golang.org/x/text/runes" "golang.org/x/text/transform" "golang.org/x/text/unicode/norm" @@ -108,4 +110,53 @@ func ConcatP(args ...*string) string { } } return s +} + + +func ToJSONString(object interface{}) (string, error) { + jsonBytes, err := json.Marshal(&object) + if err != nil { + return "", err + } + return string(jsonBytes), nil +} + +func Int64ToString(number int64) string { + return strconv.FormatInt(number, 10) +} + +func IntToString(number int) string { + return strconv.Itoa(number) +} + +func Int64SliceToString(numbers []int64) string { + numString := fmt.Sprint(numbers) + numString = strings.Join(strings.Split(numString, " "), ",") + return numString +} + +func StringToInt64(stringValue string) (int64, error) { + number, err := strconv.ParseInt(stringValue, 10, 64) + return number, err +} + +func StringToFloat64(stringValue string) (float64, error) { + number, err := strconv.ParseFloat(stringValue, 64) + if err != nil { + return 0, err + } + return number, nil +} + +func Float64ToString(number float64, precision int) string { + return strconv.FormatFloat(number, 'f', precision, 64) +} + +func Float64ToStringWithPrec(number float64, prec int) string { + return strconv.FormatFloat(number, 'f', prec, 64) +} + +func ValidateStringAsInt64(stringValue string) error { + _, err := StringToInt64(stringValue) + return err } \ No newline at end of file -- GitLab