OSDN Git Service

Fix the bug of X.NodeAnime.
[pettanr/clientJs.git] / 0.6.x / js / 01_core / 08_XNumber.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 という形式のバージョン文字列同氏の比較 <br>\r
12  * -1 v1 < v2<br>\r
13  *  0 v1 = v2<br>\r
14  *  1 v1 > v2\r
15  * @alias X.Number.conpareVersion\r
16  * @param {string} v1 '1.12.20151114' バージョン文字列。\r
17  * @param {string} v2\r
18  * @return {number} 比較結果\r
19  */\r
20  function X_Number_conpareVersion( v1, v2 ){\r
21         var i = 0,\r
22                 l, n1, n2;\r
23         \r
24         v1 = v1.split( '.' );\r
25         v2 = v2.split( '.' );   \r
26         \r
27         l = Math.min( v1.length, v2.length );\r
28 \r
29         for( ; i < l; ++i ){\r
30                 n1 = parseFloat( v1[ i ] );\r
31                 n2 = parseFloat( v2[ i ] );\r
32                 if( n1 !== n2 ){\r
33                         return n1 > n2 ? 1 : -1;\r
34                 };\r
35         };\r
36         if( v1.length === v2.length ) return 0;\r
37         return v1.length > v2.length ? 1 : -1;\r
38 };\r