Javascript 如何将带有逗号的字符串转换为数字?

Javascript 如何将带有逗号的字符串转换为数字?,javascript,google-maps,Javascript,Google Maps,我在自定义字段中有一些坐标: 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])

我在自定义字段中有一些坐标:

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]);
第二个control.log显示:

45
9
如果我按照下面的方式加载标记,它会给我一个错误的位置(因为它是45,9)

如果我按照以下方式加载标记

 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.2062604999985”)
您需要使用
parseFloat
而不是
parseInt
。这将把字符串解析为浮点数。
或者尝试使用
Number
强制转换它,例如
Number('9.2062604999985')
将生成浮点9.2062604999985。

您是否尝试使用
parseFloat()
?它做什么@LloydFrancis@LloydFrancis我不想把它转换成一个整数,我想保持正确的坐标,也许是stringify?所以它不是把你的值解析成一个数字,而是把它们解析成浮点数。这意味着您可以使用小数点。只是问一下,你需要解析它们吗?如果不进行分析就使用它会不会起作用?(我不熟悉mapsjsapi,只是一个问题)
parseFloat()
parseInt()
相同,仅适用于浮点。浮点是一种支持小数点的数据类型。很好,它可以工作。它有什么作用?我不知道我会帮你理解,我觉得这很好。还将发布相同的
Number()
one。
 var marker = new google.maps.Marker({
      map: map,
      position: {lat: mylatLg[0], lng: mylatLg[1]},
var lat = +mylatLg[0];
var lng = +mylatLg[1];