[英]How to convert string with comma to numbers?
我在自定义字段中有一些坐标:
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:不是LatLng或LatLngLiteral:在属性lat中:不是数字
如何像在自定义字段中一样运行45.4924038,9.2040718
?
而是尝试使用+
一元运算符,它有点像parseFloat()
:
var lat = +mylatLg[0];
var lng = +mylatLg[1];
console.log(+"45.4924001"); console.log(+"9.206260499999985");
您需要使用parseFloat
而不是parseInt
。 这会将字符串解析为浮点数。 或者只是尝试使用Number
,例如Number('9.206260499999985')
将产生浮点数9.206260499999985。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.