OSDN Git Service

Fix the bug of X.NodeAnime.
[pettanr/clientJs.git] / 0.6.x / js / 01_core / 08_Number.js
1 /**\r
2  * Number に関する関数を集めたものです。\r
3  * @namespace X.Number\r
4  * @alias X.Number\r
5  */\r
6 X[ 'Number' ] = {\r
7         'conpareVersion'      : X_Number_conpareVersion\r
8 };\r
9 \r
10 /**\r
11  * X.X.X という形式のバージョン文字列同志の比較  \r
12  * -1 v1 < v2\r
13  *  0 v1 = v2\r
14  *  1 v1 > v2\r
15  * @alias X.Number.copy\r
16  * @param {Number} ary コピー元のオブジェクトです。\r
17  * @return {Number}\r
18  */\r
19  function X_Number_conpareVersion( v1, v2 ){\r
20         var i = 0,\r
21                 l, n1, n2;\r
22         \r
23         v1 = v1.split( '.' );\r
24         v2 = v2.split( '.' );   \r
25         \r
26         l = Math.min( v1.length, v2.length );\r
27 \r
28         for( ; i < l; ++i ){\r
29                 n1 = parseFloat( v1[ i ] );\r
30                 n2 = parseFloat( v2[ i ] );\r
31                 if( n1 !== n2 ){\r
32                         return n1 > n2 ? 1 : -1;\r
33                 };\r
34         };\r
35         if( v1.length === v2.length ) return 0;\r
36         return v1.length > v2.length ? 1 : -1;\r
37 };\r