//ex) zumStr(0.123456789,5)
//결과 : 0.12346
//str 실수 데이터 0.1234567
//cut 소수점 자를수
function zumSet(str,cut) {
var zum2 ="1";
//몇번째 반올림 할것인가..
var zum3 = "";
//소숫점인 없는경우 반올림되거나 해서 자릿수가 없을때 만들기 위해
if(str == ''){ //빈값 리턴
return str;
}
str+='';
if(str.charAt(0)=='.'){
str = "0"+str;
}
var tempStr = str.split('.');
var returnStr="";
if(tempStr.length == 2){
for(var i=0;i<cut;i++){
zum2 +="0";
zum3 +="0";
}
returnStr = tempStr[0]+'.'+String(tempStr[1]).substring(0,cut);
if(Number(tempStr[1].charAt(cut)) >= 5){
returnStr = (Math.round(eval(str)*eval(zum2))/eval(zum2));
returnStr +="";
tempStr=returnStr.split('.');
if(tempStr.length == 2){
for(var i=tempStr[1].length;i<cut;i++)
tempStr[1] +="0";
return tempStr[0]+"."+tempStr[1];
//반올림값
}
//alert(parseFloat(returnStr)+" "+zum3);
return returnStr+"."+zum3;
//반올림 되었는데 소수점 자릿수가 없는것
}else{
returnStr +="";
tempStr=returnStr.split('.');
if(tempStr.length == 2){
for(var i=tempStr[1].length;i<cut;i++)
tempStr[1] +="0";
return tempStr[0]+"."+tempStr[1];
//반올림 이 아닌값
}
//return returnStr;
}
}
return str; //초기에 수섬점이 아님값
}
'아 덥다 > javascript' 카테고리의 다른 글
중복되지 않는 랜덤숫자 (0) | 2013.06.23 |
---|---|
예외처리용 패턴 (0) | 2013.06.23 |