【问题标题】:Javascript parseFloat and nullsJavascript parseFloat 和空值
【发布时间】:2013-03-18 13:56:59
【问题描述】:

我对 javascript 非常陌生,因为我目前正在 jQuery Mobile 中制作跨平台 Web 应用程序,我已经使用 XML Parsing 到 HighCharts 图表的示例但是当我在我的系列数据中遇到 null 时,它无法绘制任何线,几乎变成了散点图。

// push data points
$(series).find('data point').each(function(i, point) {
    seriesOptions.data.push( 
        parseFloat($(point).text())
    );
});

我不知道如何编写一个 if 语句来检查它是否找到了一个空值,如果是的话如何告诉它使用它...任何人都可以帮助或指出我想要的正确方向我的图表是正确的,而不是在我有一个空值的地方放置一个零值。

【问题讨论】:

    标签: javascript parsing null highcharts parsefloat


    【解决方案1】:

    好吧,如果它不是数字(null 和 undefined 是 NaN),则 parseFloat 将返回“NaN”,因此您可以尝试这样做:

    // push data points
    $(series).find('data point').each(function(i, point) {
        var floatVal = parseFloat($(point).text());
        if (!isNaN(floatVal)) {
            seriesOptions.data.push(floatVal);
        }
    });
    

    【讨论】:

    • 感谢 Bjorn 的回复 - 我已经把它放在适当的位置,它工作但不完全符合图表的预期,我需要返回的值来引用一个数字或 null 一词HighCharts 在空值所在的位置绘制空白。那么这是否需要将 NaN 转换为 null 还是我完全偏离了?我以前听说过 isNull 但不是 isNaN ...
    【解决方案2】:

    null 与任何其他 C 风格语言一样检查 JavaScript:

     if (thing == null) 
    

    或者

     if (thing != null)
    

    我发现这在大多数情况下都适用于我自己编写的程序,就像我在 C# 中一样;但是我发现其他人的代码依赖于从未被声明或设置过的东西等等,总而言之,它归结为检查null"undefined" 的意大利面条 - 是的,文字字符串,真的- 以及其他任何东西。

    【讨论】:

    • 非常感谢您的回复,您所说的内容有些道理,但我真的不知道这与我需要在代码中检查 null 的位置相匹配 - 正如我所说我对此很陌生,到目前为止,我设法将我需要的东西拼凑在一起以获得最终结果。您能帮我解决概述的功能吗?
    【解决方案3】:

    在 Javascript 上快速谷歌如果我相信我已经到达那里 - 谢谢 Bjorn :0) 你的回答让我到达那里!

    // push data points
    $(series).find('data point').each(function(i, point) {
        var floatVal = parseFloat($(point).text());
                if (!isNaN(floatVal)) {
                    seriesOptions.data.push(floatVal);
            }
            else {
            seriesOptions.data.push(null);
            }
            console.log(floatVal)
        });
    

    【讨论】:

    • 不错!我很高兴你找到了答案! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多