JavaScript中的VAL()函数

时间:2010-12-16 19:09:09

标签: javascript regex

在继续我的question from yesterday时,我有以下代码:

function VAL(str) {
    // IF LEFT(str,1) IN('0,1,2,3,4,5,6,7,8,9,.) THEN
    return parseFloat(str);
    return 0;
}

function LEFT(str,n) {
    if (n <= 0) return "";
    if (n >= str.length) return str;
    return str.substring(0,n);
}

问:我如何写上面的注释行,使其显示“如果第一个字符是0或1或2或3或4或5或6或7或8或9或句点,则返回parseFloat(str )“?

3 个答案:

答案 0 :(得分:4)

您不需要检查。如果第一个字符一个数字,则parseFloat会返回NaN

 function VAL(str) {
     var f = parseFloat(str);
     return isNaN(f) ? 0 : f;
 }

答案 1 :(得分:1)

我会使用正则表达式

if (str.match(/([0-9]|\./)) return parseFloat(str);

答案 2 :(得分:1)

set =“0123456789”; if(set.indexOf(LEFT(str,1))&gt; -1返回parseFloat(str);