我有一个字符串,用于定义事件的纬度,格式为“ p002.155”和“ n003.196”为“ p”,而“ n”则是系统定义的数字是正数还是负数。>
我需要将字符串解析为浮点型,并尝试使用parseFloat进行操作,但由于字符串中的字符而不断获得NaN值
我该怎么做?谢谢。
答案 0 :(得分:4)
您可以替换char,然后转换为float:
var str = "n002.155";
str = +str.replace("p","").replace("n","-"); //here the leading `+` is casting to number
console.log(str);
答案 1 :(得分:1)
您可以使用子字符串并查看第一个字符
function getFloat(str) {
var sign = str.charAt(0)=="n"?-1:1;
return parseFloat(str.substring(1))*sign;
}
var latPStr = "p002.155", latNStr = "n003.196";
console.log(getFloat(latPStr),getFloat(latNStr));
答案 2 :(得分:0)
您可以像这样将字符串转换为浮点型:
var str = '3.8';
var fl= +(str); //fl is a variable converted to float
console.log( +(str) );
console.log("TYPE OF FL IS THIS "+typeof fl);
+(string)会将字符串转换为float。