繁体   English   中英

如何将逗号分隔的字符串转换为数字?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM