无法将字符串转换为数字javascript我的代码有什么问题?

无法将字符串转换为数字javascript我的代码有什么问题?,javascript,Javascript,var d_long; var d_lat a = "37.333941,-121.879065"; var comma = a.search(","); d_lat = a.slice(0,comma); d_long = a.slice(comma+1,-1); Math.floor(d_lat); Math.floor(d_long); alert(d_lat + " " + d_long); var x = d_lat+d_long; alert(x); 谢谢各位,我明白

var d_long; var d_lat

a = "37.333941,-121.879065";
var comma = a.search(",");

d_lat = a.slice(0,comma); 
d_long = a.slice(comma+1,-1); 

Math.floor(d_lat);
Math.floor(d_long);

alert(d_lat + " " + d_long);

var x = d_lat+d_long;

alert(x);
谢谢各位,我明白我做错了什么。我将尝试拆分而不是我的奇怪拼接。我想我会用d_lat=Numberd_lat

Math.floor不转换输入,而是返回数字

d_lat = Math.floor(d_lat);
应该这样做。

您需要使用parseFloat-请参阅您需要使用的parseFloat。此外,您还可以在字符串上使用拆分“,”,而不是这种奇怪的切片方式

...
var x = Number(d_lat)+Number(d_long);
...

请参见

我很好奇,你在使用附加的lat+长期价值做什么。另一个问题是,你真的想要lat和长期价值的下限吗?这将丢失大量有关位置的重要信息…请注意Math.floor将数字向下舍入,使其成为整数。此外,这一切都归结为指针、定点数据类型和非定点数据类型,如果我想要10/10的答案,我也会提到这一点