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` // `` 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 进行替换