如何将小数点后的数字减少到字符串中只有5位数的经度?

时间:2015-06-08 15:02:55

标签: javascript jquery leaflet

我使用传单使用 terraformer-wkt 生成此字符串:

POLYGON((-66.85271859169006 10.488056634656399,-66.85351252555847 10.486178802289459,-66.85342669487 10.485250431517958,-66.84864163398743))

我希望将小数位数的限制减少到 5 位。

POLYGON((-66.85271 10.48805,-66.85351 10.48617,-66.85342 10.48525,-66.84864))

我在javascripts中看到如何将数字转换为字符串,只保留 5 小数,但我不知道如何将其用于我的字符串:

var num = -66.85271859169006; 
var n = num.toFixed(5); 
//result would be -66.85271

1 个答案:

答案 0 :(得分:1)

您可以使用regular expression搜索字符串中的所有数字并替换它们:

var str = 'POLYGON((-66.85271859169006 10.488056634656399,-66.85351252555847 10.486178802289459,-66.85342669487 10.485250431517958,-66.84864163398743))';

console.log(str.replace(/\d+\.\d+/g, function(match) {
  return Number(match).toFixed(5);
}));

请参阅:

相关:Round to at most 2 decimal places (only if necessary)