提升小数数字精度

This commit is contained in:
GoEdgeLab
2022-10-23 11:54:00 +08:00
parent 680de5ebd2
commit 08a1263815
2 changed files with 22 additions and 15 deletions

View File

@@ -4,6 +4,7 @@ import (
"fmt"
"github.com/iwind/TeaGo/types"
"strconv"
"strings"
)
func FormatInt64(value int64) string {
@@ -44,10 +45,16 @@ func Min[T int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 |
return min
}
func FloorFloat32(f float32, decimal int) float32 {
func FloorFloat64(f float64, decimal int) float64 {
if decimal <= 0 {
return f
}
return types.Float32(fmt.Sprintf("%.2f", f))
var s = fmt.Sprintf("%f", f)
var index = strings.Index(s, ".")
if index < 0 || len(s[index:]) <= decimal+1 {
return f
}
return types.Float64(s[:index+decimal+1])
}