From 318c8dd5669d1ff74e14d1bd34c99b8f8432d033 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Sun, 23 Oct 2022 09:25:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=B0=8F=E6=95=B0=E6=95=B0?= =?UTF-8?q?=E5=AD=97=E6=A0=BC=E5=BC=8F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/utils/numberutils/utils.go | 13 +------------ internal/utils/numberutils/utils_test.go | 6 ++++++ 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/internal/utils/numberutils/utils.go b/internal/utils/numberutils/utils.go index 411d6b39..60394c56 100644 --- a/internal/utils/numberutils/utils.go +++ b/internal/utils/numberutils/utils.go @@ -4,7 +4,6 @@ import ( "fmt" "github.com/iwind/TeaGo/types" "strconv" - "strings" ) func FormatInt64(value int64) string { @@ -50,15 +49,5 @@ func FloorFloat32(f float32, decimal int) float32 { return f } - var s = fmt.Sprintf("%f", f) - var index = strings.Index(s, ".") - if index < 0 { - return f - } - - var d = s[index:] - if len(d) <= decimal+1 { - return f - } - return types.Float32(s[:index] + d[:decimal+1]) + return types.Float32(fmt.Sprintf("%.2f", f)) } diff --git a/internal/utils/numberutils/utils_test.go b/internal/utils/numberutils/utils_test.go index 557b990b..8d2545e6 100644 --- a/internal/utils/numberutils/utils_test.go +++ b/internal/utils/numberutils/utils_test.go @@ -35,3 +35,9 @@ func TestFloorFloat32(t *testing.T) { t.Logf("%f, %f", numberutils.FloorFloat32(123.456789, 4), 123.456789*10*10*10*10) t.Logf("%f", numberutils.FloorFloat32(-123.45678, 2)) } + +func TestFloorFloat32_Special(t *testing.T) { + for _, f := range []float32{17.88, 1.11, 1.23456} { + t.Logf("%f", numberutils.FloorFloat32(f, 2)) + } +}