Files
exchange_go/pkg/utility/stringhelper_test.go
2025-02-06 11:14:33 +08:00

50 lines
1.3 KiB
Go

package utility
import (
"fmt"
"math/rand"
"strconv"
"testing"
)
func Test_(t *testing.T) {
// t.Log(decimal.NewFromFloat(0))
t.Log(strconv.FormatFloat(1.04, 'f', 1, 64))
t.Log(strconv.FormatFloat(1.05, 'f', 1, 64))
t.Log(strconv.FormatFloat(1.06, 'f', 1, 64))
t.Log(strconv.FormatFloat(1.006, 'f', 2, 64))
// t.Log(strconv.FormatFloat(`1.006`, 64))
}
// i := int64(32)
// s := strconv.FormatInt(i, 16)
// println(s)
// 对比下 Float64ToString 和 FloatCutStr 的效率
// go test -bench=_QE_ -benchmem
// -benchtime 默认为1秒 -benchmem 获得内存分配的统计数据
func Benchmark_QE_1(b *testing.B) {
for i := 0; i < b.N; i++ {
Float64ToString(getRandData(), 2)
}
}
func Benchmark_QE_2(b *testing.B) {
for i := 0; i < b.N; i++ {
FloatCutStr(getRandData(), 2) // 已废弃
}
}
func getRandData() float64 {
return float64(rand.Intn(1000000)) / 1000
}
func TestTrimHtml(t *testing.T) {
a := `sff` // `<script>alert('ab')</script>`
x := TrimHtml(a)
fmt.Print(x)
}
// Benchmark_QE_1-6 4902826 243.3 ns/op 31 B/op 2 allocs/op
// Benchmark_QE_2-6 1275004 940.6 ns/op 137 B/op 11 allocs/op
// 故此将优先使用 Float64ToString 并将已使用的 FloatCutStr 进行替换