javascript - 解析表示 float 组的字符串

标签 javascript parsing floating-point

我有这样一个字符串:

string = "[x,y,z]"

其中 xyz 是作为字符串的有效 javascript float 。一些例子:

-0.9999
1.
1.00000000000E-5
-1E5

不使用 Eval 将此字符串解析为实际 javascript float 组的最有效(最快)方法是什么?

现在我这样做:

parseFloatArray = function(string){
    // isolate string by removing square brackets
    string = string.substr( 1, string.length-2 )

    // create array with string split
    var array = string.split(',');

    // parse each element in array to a float
    for (var i = 0, il = array.length; i < il; i++){
        array[i] = parseFloat(array[i]);
    }

    // return the result
    return array
}

对于上述示例,解决方案正确运行很重要。

我还尝试了 JSON.parse,起初看起来很完美,但它为第二个示例 1. 返回了一个 SyntaxError小数点后没有任何内容。

我准备了 a fiddle 用于测试。

最佳答案

代替这个

array[i] = parseFloat(array[i]);

尝试 数组[i] = +array[i];

上面很好地处理了所有测试用例。

这是工作 fiddle

关于javascript - 解析表示 float 组的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37478943/

相关文章:

javascript - 使用 Typescript 捕获 Angular 中的点击事件?

java - ListView 中的图像变化? (解析和 picasso )

c++ - QML Qt- 解析 XML 并将其转换为 LisView 的 ListModel

C 编程比较 float

javascript - 确定文本正文中最相关的关键字

javascript - 为什么我的按钮不再调用该函数?

sql - 如何从带有时间戳 (6) 的 Oracle 表中进行选择?

c++ - 分隔整数部分和小数部分的代码

php - 使用 AJAX 从二维 PHP 数组创建二维 jQuery 数组

c# - 用于检索 CSS url 函数参数的正则表达式