You've already forked json-iterator
							
							
				mirror of
				https://github.com/json-iterator/go.git
				synced 2025-10-31 00:07:40 +02:00 
			
		
		
		
	Revert "std: float64/32 clean up e-09 to e-9"
This reverts commit 10b9ac0971.
			
			
This commit is contained in:
		| @@ -27,14 +27,6 @@ func (stream *Stream) WriteFloat32(val float32) { | ||||
| 		} | ||||
| 	} | ||||
| 	stream.buf = strconv.AppendFloat(stream.buf, float64(val), fmt, -1, 32) | ||||
| 	if fmt == 'e' { | ||||
| 		// clean up e-09 to e-9 | ||||
| 		n := len(stream.buf) | ||||
| 		if n >= 4 && stream.buf[n-4] == 'e' && stream.buf[n-3] == '-' && stream.buf[n-2] == '0' { | ||||
| 			stream.buf[n-2] = stream.buf[n-1] | ||||
| 			stream.buf = stream.buf[:n-1] | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // WriteFloat32Lossy write float32 to stream with ONLY 6 digits precision although much much faster | ||||
| @@ -84,14 +76,6 @@ func (stream *Stream) WriteFloat64(val float64) { | ||||
| 		} | ||||
| 	} | ||||
| 	stream.buf = strconv.AppendFloat(stream.buf, float64(val), fmt, -1, 64) | ||||
| 	if fmt == 'e' { | ||||
| 		// clean up e-09 to e-9 | ||||
| 		n := len(stream.buf) | ||||
| 		if n >= 4 && stream.buf[n-4] == 'e' && stream.buf[n-3] == '-' && stream.buf[n-2] == '0' { | ||||
| 			stream.buf[n-2] = stream.buf[n-1] | ||||
| 			stream.buf = stream.buf[:n-1] | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // WriteFloat64Lossy write float64 to stream with ONLY 6 digits precision although much much faster | ||||
|   | ||||
| @@ -4,11 +4,10 @@ import ( | ||||
| 	"bytes" | ||||
| 	"encoding/json" | ||||
| 	"fmt" | ||||
| 	"github.com/json-iterator/go" | ||||
| 	"github.com/stretchr/testify/require" | ||||
| 	"strconv" | ||||
| 	"testing" | ||||
|  | ||||
| 	jsoniter "github.com/json-iterator/go" | ||||
| 	"github.com/stretchr/testify/require" | ||||
| ) | ||||
|  | ||||
| func Test_read_float(t *testing.T) { | ||||
| @@ -89,7 +88,7 @@ func Test_write_float32(t *testing.T) { | ||||
|  | ||||
| 	stream = jsoniter.NewStream(jsoniter.ConfigDefault, nil, 0) | ||||
| 	stream.WriteFloat32(float32(0.0000001)) | ||||
| 	should.Equal("1e-7", string(stream.Buffer())) | ||||
| 	should.Equal("1e-07", string(stream.Buffer())) | ||||
| } | ||||
|  | ||||
| func Test_write_float64(t *testing.T) { | ||||
| @@ -126,5 +125,5 @@ func Test_write_float64(t *testing.T) { | ||||
|  | ||||
| 	stream = jsoniter.NewStream(jsoniter.ConfigDefault, nil, 0) | ||||
| 	stream.WriteFloat64(float64(0.0000001)) | ||||
| 	should.Equal("1e-7", string(stream.Buffer())) | ||||
| 	should.Equal("1e-07", string(stream.Buffer())) | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user