Study

[Ae]expression - 코마가 포함된 숫자 카운트

ovcos 2021. 6. 2. 09:50

numDecimals = 0; // 소수점 몇자리 까지 처리할 것인가?
commas = true; // 콤마 넣을 것인가?
numComma = 3 ; // 몇 번째 자리마다 코마를 넣을 것인가?
dollarSign = true; // 단위 표시 할것인가?
endCount = Number(effect("Slider Control")("Slider")); // 종료 값 - 문자열을 숫자열로 형변환 시켜줌


t = time - inPoint;
s = endCount.toFixed(numDecimals);
 
prefix = "";
if (s[0] == "-"){
  prefix = "-";
  s = s.substr(1);
}
if(dollarSign) prefix += "$";
 
if (commas){
  decimals = "";
  if (numDecimals > 0){
    decimals = s.substr(-(numDecimals + 1));
    s = s.substr(0,s.length - (numDecimals + 1));
  }
  outStr = s.substr(-s.length, (s.length-1)%numComma + 1); 
  for (i = Math.floor((s.length-1)/numComma); i > 0; i--){
    outStr += "," + s.substr(-i*numComma,numComma); 
  }
  prefix + outStr + decimals;
}else{
  prefix + s;
}

 

 

 

------------------------------------------------------------------

아래가 기본 적인 키를 잡지 않는 카운트 방식이다. (모션스크립트 발췌)

------------------------------------------------------------------

numDecimals = 2; // 소수점 몇자리 까지 처리할 것인가?
commas = true; // 콤마 넣을 것인가?
numComma = 3 ; // 몇 번째 자리마다 코마를 넣을 것인가?
dollarSign = true; // 단위 표시 할것인가?
beginCount = 0; // 시작 값
endCount = 4000000; // 종료 값
dur = 4; // 얼마의 시간동안 변화할 것인가?


t = time - inPoint;
s = linear (t, 0, dur, beginCount, endCount).toFixed(numDecimals);
 
prefix = "";
if (s[0] == "-"){
  prefix = "-";
  s = s.substr(1);
}
if(dollarSign) prefix += "$";
 
if (commas){
  decimals = "";
  if (numDecimals > 0){
    decimals = s.substr(-(numDecimals + 1));
    s = s.substr(0,s.length - (numDecimals + 1));
  }
  outStr = s.substr(-s.length, (s.length-1)%numComma + 1); 
  for (i = Math.floor((s.length-1)/numComma); i > 0; i--){
    outStr += "," + s.substr(-i*numComma,numComma); 
  }
  prefix + outStr + decimals;
}else{
  prefix + s;
}

 

 

---------------