numericHelper.js.soonsu 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. String.prototype.setAmountToKorean = setAmountToKorean;
  2. String.prototype.isNumber = isNumber;
  3. String.prototype.isFloat = isFloat;
  4. String.prototype.getRound = getRound;
  5. String.prototype.getTruncate = getTruncate;
  6. function setAmountToKorean()
  7. {
  8. var amountTmp = this;
  9. var amount = "";
  10. var rtnAmt = "";
  11. var amtKor = "";
  12. var flag = "N";
  13. var amtLength = amountTmp.length;
  14. var fstChar = "";
  15. for(i=0; i < amtLength ;i++) {
  16. fstChar = amountTmp.substring(i,i+1);
  17. if('0' <= fstChar && '9' >= fstChar) {
  18. amount = amount.concat(fstChar);
  19. }
  20. }
  21. amtLength = amount.length;
  22. for(i=1; i<=amtLength ;i++) {
  23. var amtEng = (amount.substring(amtLength-i,amtLength)).substring(0,1);
  24. switch(amtEng) {
  25. case '1':
  26. amtKor = "��";
  27. break;
  28. case '2':
  29. amtKor = "��";
  30. break;
  31. case '3':
  32. amtKor = "��";
  33. break;
  34. case '4':
  35. amtKor = "��";
  36. break;
  37. case '5':
  38. amtKor = "��";
  39. break;
  40. case '6':
  41. amtKor = "��";
  42. break;
  43. case '7':
  44. amtKor = "ĥ";
  45. break;
  46. case '8':
  47. amtKor = "��";
  48. break;
  49. case '9':
  50. amtKor = "��";
  51. break;
  52. case '0':
  53. continue;
  54. default:
  55. continue;
  56. }
  57. if(i==1) {
  58. rtnAmt = amtKor;
  59. } else {
  60. switch((i-1)%4) {
  61. case 1:
  62. amtKor = amtKor.concat("��");
  63. break;
  64. case 2:
  65. amtKor = amtKor.concat("��");
  66. break;
  67. case 3:
  68. amtKor = amtKor.concat("õ");
  69. break;
  70. case 0:
  71. default:
  72. break;
  73. }
  74. if( i>4 && i<9 && flag!='M') {
  75. amtKor = amtKor.concat("��");
  76. flag = 'M';
  77. }
  78. if( i>8 && i<13 && flag!='U') {
  79. amtKor = amtKor.concat("��");
  80. flag = 'U';
  81. }
  82. if( i>12 && flag!='J') {
  83. amtKor = amtKor.concat("��");
  84. flag = 'J';
  85. }
  86. rtnAmt = amtKor.concat(rtnAmt);
  87. }
  88. }
  89. return rtnAmt;
  90. }
  91. function isNumber()
  92. {
  93. if( typeof( this ) == "undefined" ) return false;
  94. if( this.length == 0 ) return false;
  95. var thisSting = this.toString();
  96. for( var i=0; i < thisSting.length; i++ ){
  97. var thisNumber = thisSting.substring( i, i+1 );
  98. if( isNaN( thisNumber ) ) return false;
  99. if( " " == thisNumber ) return false;
  100. }
  101. return true;
  102. }
  103. function isFloat()
  104. {
  105. return ( this == parseFloat( this ) ) ? true : false;
  106. }
  107. function getRound( position, mode )
  108. {
  109. var valueNumber = parseFloat(this);
  110. var tempArray = this.toString().setReplaceWord("-", "").split(".");
  111. if( !this.isFloat() )
  112. {
  113. return "";
  114. }
  115. if( !position.toString().isFloat() )
  116. {
  117. return "";
  118. }
  119. if(0 < parseInt( position ))
  120. {
  121. if( tempArray[0].length < parseInt(position) )
  122. {
  123. return "";
  124. }
  125. }
  126. else if(0 > parseInt(position))
  127. {
  128. if(tempArray.length != 2 || tempArray[1].length < parseInt(position)*(-1))
  129. {
  130. return this;
  131. }
  132. }
  133. switch(mode){
  134. case "UP" :
  135. if(0 < parseInt(position))
  136. {
  137. valueNumber = Math.ceil(valueNumber / Math.pow(10, position)) * Math.pow(10, position);
  138. return valueNumber;
  139. }
  140. else if(0 > parseInt(position))
  141. {
  142. valueNumber = Math.ceil(valueNumber * Math.pow(10, position*(-1)-1)) / Math.pow(10, position*(-1)-1);
  143. return valueNumber;
  144. }
  145. else
  146. {
  147. return "";
  148. }
  149. case "HALF_UP" :
  150. if(0 < parseInt(position))
  151. {
  152. valueNumber = Math.round(valueNumber / Math.pow(10, position)) * Math.pow(10, position);
  153. return valueNumber;
  154. }
  155. else if(0 > parseInt(position))
  156. {
  157. valueNumber = Math.round(valueNumber * Math.pow(10, position*(-1)-1)) / Math.pow(10, position*(-1)-1);
  158. return valueNumber;
  159. }
  160. else
  161. {
  162. return "";
  163. }
  164. case "DOWN" :
  165. if(0 < parseInt(position))
  166. {
  167. valueNumber = Math.floor(valueNumber / Math.pow(10, position)) * Math.pow(10, position);
  168. return valueNumber;
  169. }
  170. else if(0 > parseInt(position))
  171. {
  172. valueNumber = Math.floor(valueNumber * Math.pow(10, position*(-1)-1)) / Math.pow(10, position*(-1)-1);
  173. return valueNumber;
  174. }else{
  175. return "";
  176. }
  177. default :
  178. return "";
  179. }
  180. }
  181. function getTruncate()
  182. {
  183. var TempArray = new Array();
  184. TempArray = this.split(".");
  185. return TempArray[0];
  186. }
  187. function getRandomNo( iRange )
  188. {
  189. iRnt = Math.floor( Math.random() * iRange ) + 1;
  190. return iRnt;
  191. }