8b6df344444a17e53c9300ef4bc4686b8221e92e
[platform/framework/web/crosswalk-tizen.git] /
1 var isArray = require('./isArray');
2
3     /**
4      * covert value into number if numeric
5      */
6     function toNumber(val){
7         // numberic values should come first because of -0
8         if (typeof val === 'number') return val;
9         // we want all falsy values (besides -0) to return zero to avoid
10         // headaches
11         if (!val) return 0;
12         if (typeof val === 'string') return parseFloat(val);
13         // arrays are edge cases. `Number([4]) === 4`
14         if (isArray(val)) return NaN;
15         return Number(val);
16     }
17
18     module.exports = toNumber;
19
20