gpt4 book ai didi

javascript - Geotools 小数位

转载 作者:行者123 更新时间:2023-12-02 23:07:53 28 4
gpt4 key购买 nike

我正在使用 geotools.js 将操作系统网格引用转换为纬度和经度。不幸的是,默认情况下(我相信)输出限制为小数点后两位。为了更准确的读数,我需要它是小数点后 5 位。

我尝试在自己的代码中删除对小数位的任何引用,并且还查看了 geotools.js 文件以查看可以在哪里更改它,但我不够聪明,无法弄清楚这一点!

var osgb = new GT_OSGB();
if (osgb.parseGridRef(gridref)) {
var wgs84=osgb.getWGS84();
var lat = parseFloat(Math.round(wgs84.latitude * 100) / 100).toFixed(5);
var long = parseFloat(Math.round(wgs84.longitude * 100) / 100).toFixed(5);
var latlong = lat+','+long;
}

尽管在上面的代码中我已将小数值从 2 更改为 5,但所发生的只是小数位被零填充。所以我会得到 2 个小数值,然后是 3 个零。请问有人知道如何更改吗?

最佳答案

因为 Math.round(1.783895237647 * 100) 将得到 178。将其除以 100 不会神奇地恢复丢失的精度。

var lat = parseFloat(Math.round(wgs84.latitude * 100) /     100).toFixed(5);
var long = parseFloat(Math.round(wgs84.longitude * 100) / 100).toFixed(5);

应该是

var lat = parseFloat(wgs84.latitude).toFixed(5);
var long = parseFloat(wgs84.longitude).toFixed(5);

关于javascript - Geotools 小数位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57506894/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com