10
func TestFtoa(t *testing.T) {
12
{"200", Ftoa(200), "200"},
14
{"2.2", Ftoa(2.2), "2.2"},
15
{"2.02", Ftoa(2.02), "2.02"},
16
{"200.02", Ftoa(200.02), "200.02"},
20
func BenchmarkFtoaRegexTrailing(b *testing.B) {
21
trailingZerosRegex := regexp.MustCompile(`\.?0+$`)
24
for i := 0; i < b.N; i++ {
25
trailingZerosRegex.ReplaceAllString("2.00000", "")
26
trailingZerosRegex.ReplaceAllString("2.0000", "")
27
trailingZerosRegex.ReplaceAllString("2.000", "")
28
trailingZerosRegex.ReplaceAllString("2.00", "")
29
trailingZerosRegex.ReplaceAllString("2.0", "")
30
trailingZerosRegex.ReplaceAllString("2", "")
34
func BenchmarkFtoaFunc(b *testing.B) {
35
for i := 0; i < b.N; i++ {
36
stripTrailingZeros("2.00000")
37
stripTrailingZeros("2.0000")
38
stripTrailingZeros("2.000")
39
stripTrailingZeros("2.00")
40
stripTrailingZeros("2.0")
41
stripTrailingZeros("2")
45
func BenchmarkFmtF(b *testing.B) {
46
for i := 0; i < b.N; i++ {
47
fmt.Sprintf("%f", 2.03584)
51
func BenchmarkStrconvF(b *testing.B) {
52
for i := 0; i < b.N; i++ {
53
strconv.FormatFloat(2.03584, 'f', 6, 64)