Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正在尝试使用parseFloat删除结束字符_Javascript_Jquery_Html - Fatal编程技术网

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。