Google Maps Javascript API LatLng Class 奇怪的行为



我正在为我的小Livetracking-Project使用Google Maps Javascript API。在我的工作中,我遇到了LatLng-Class的奇怪行为。如果我输入下面的示例中显示的两个值,我总是从 LatLng-Object 的 .lng()-Method 获得这个非常奇怪的返回值,但从 .lat()-Method 中则不然。我无法在谷歌文档中找到这种行为的解释。还有其他人知道这个问题吗?

var lat = 47.0189;
var lng = 8.33244;
var lastPoint = new google.maps.LatLng(lat, lng);
console.log(lastPoint.lat());
console.log(lastPoint.lng());

威奇返回:

47.0189
8.33244000000002

来自 JS-Console 的屏幕截图

感谢您的帮助!

JavaScript 的数字通常以十进制浮点数的形式输入,但它们在内部表示为二进制浮点数。这导致不精确。

有关更多详细信息,您可以阅读本书:

http://speakingjs.com/es5/ch11.html#number_representation

最新更新