脚本返回州名和里程,即TN 71.6英里。我试图通过将字符串转换为应该忽略不需要的字符的数字来摆脱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]);
}
答案 0 :(得分:1)
parseFloat返回一个你没有捕获的值。
var ret = parseFloat(x);
当你遇到这样的问题时。尝试在浏览器的Javascript控制台中运行功能。你通常可以自己找出问题所在。
答案 1 :(得分:0)
首先,您没有使用parseFloat返回的值。要使用它,您需要:
x = parseFloat(x)
。
但这会失败,因为“mi”不是数值。
相反,要忽略“mi”,您可以执行类似
的操作 x = parseFloat(x.substring(0, x.length - 3));
答案 2 :(得分:0)
如果你想摆脱mi并保持状态,那么你更容易使用切片方法:
console.log('TI 1563.12 mi'.slice(0, -3));