我试图用精确的json对象解析纬度和经度,我为这个工作选择了float64.但是,float64以某种方式舍入数字,我不知道该怎么做才能避免舍入.
我创建了一个快速代码片段,以便您可以执行此问题:http: //play.golang.org/p/9g6Imn-7GK
package main
import (
"encoding/json"
"fmt"
"reflect"
)
type Position struct {
Lat float64 `json:"lat"`
Lon float64 `json:"lon"`
}
func main() {
s := `{"lat":13.519004709972312,"lon": -13.519004709972312}`
pos := Position{}
json.Unmarshal([]byte(s), &pos)
if !reflect.DeepEqual(s, &pos) {
fmt.Printf("\nExpected %#v\nbut got %#v", s, pos)
}
}
Run Code Online (Sandbox Code Playgroud)