Javascript 正在尝试使用parseFloat删除结束字符
脚本返回状态名称和里程,即Javascript 正在尝试使用parseFloat删除结束字符,javascript,jquery,html,Javascript,Jquery,Html,脚本返回状态名称和里程,即TN 71.6 mi。我试图通过将字符串转换为一个数字来消除mi,该数字应该忽略不需要的字符。parseFloat命令被完全忽略 function compileMilesReciever(data) { if (data === null) { setTimeout(compileMiles, 6000); } else { if (compileMilesIndex == orderedLatLngs.length)
TN 71.6 mi
。我试图通过将字符串转换为一个数字来消除mi
,该数字应该忽略不需要的字符。parseFloat
命令被完全忽略
function compileMilesReciever(data) {
if (data === null) {
setTimeout(compileMiles, 6000);
} else {
if (compileMilesIndex == orderedLatLngs.length) {
if (!stepEndState) {
stepEndState = startState;
}
stateMiles[stepEndState] = data.routes[0].legs[0].distance["text"];
var txt = "";
var i = 0;
var x = stateMiles[state];
parseFloat(x);
for (state in stateMiles) {
i++;
$("#results").append
$(".state" + i).append(state);
$(".mile" + i).append(stateMiles[state]);
}
parseFloat
返回一个未捕获的值
var ret = parseFloat(x);
当你遇到这样的问题时。尝试在浏览器的Javascript控制台中运行函数。您通常可以自己找出问题所在。首先,您没有使用
parseFloat
返回的值。要使用它,您需要:
x = parseFloat(x)
但这将失败,因为“mi”
不是数值
相反,要忽略“mi”
,您可以执行以下操作:
x = parseFloat(x.substring(0, x.length - 3));
如果您只想摆脱mi并保持状态,则使用切片方法更容易:
console.log('TI 1563.12 mi'.slice(0, -3));
parseFloat确实忽略了额外的字符。但把它当作垃圾是不好的做法。尝试了所有3个建议,没有一个奏效。当我查看控制台时,它完全没有显示错误。。。。。它似乎忽略了parseFloat。