javascript - 如何将带逗号的字符串转换为数字?
问题描述
我在自定义字段中有一些坐标:
45.4924038,9.2040718
我正在将它们加载到这样的地图中:
var mylatLg = "<?php echo get_post_meta($id, 'usp-custom-90', true); ?>";
var mylatLg = mylatLg.split(',');
console.log(mylatLg[0]);
console.log(mylatLg[1]);
var lat = parseInt(mylatLg[0]);
var lng = parseInt(mylatLg[1]);
第一个 console.log 给出:
45.4924001
9.206260499999985
第二个 control.log 说:
45
9
如果我按照以下内容加载标记,它会给我一个错误的位置(因为它是 45,9)
var marker = new google.maps.Marker({
map: map,
position: {lat: parseInt(mylatLg[0]), lng: parseInt(mylatLg[1])},
如果我按照以下内容加载标记
var marker = new google.maps.Marker({
map: map,
position: {lat: mylatLg[0], lng: mylatLg[1]},
它给
InvalidValueError: setPosition: not a LatLng or LatLngLiteral: in property lat: not a number
如何45.4924038,9.2040718
像在自定义字段中一样运行?
解决方案
而是尝试使用+
一元运算符,它有点像parseFloat()
:
var lat = +mylatLg[0];
var lng = +mylatLg[1];
console.log(+"45.4924001");
console.log(+"9.206260499999985");