在继续我的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 )“?
答案 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);