-----------------------------
ovcos 2016. 6. 22. 18:26 작성함
a=eval(thisComp.layer("A").text.sourceText).toString()*1;
b=eval(thisComp.layer("B").text.sourceText).toString()*1;
"차이\n" + length(a,b)
숫자로만 이뤄져 있는 텍스트 소스를 숫자로 변환한 뒤 계산할 수 있게 하는 식.
\n 은 줄바꿈ㅋ
---- 2020.01.30 추가 ----
1.
eval() 은 문자열을 코드로 인식하게 하는 함수.
eval( '2+2' ) 는 문자열 ' 2+2 ' 가 아니라 두 숫자의 수식의 결과값인 4 를 반환한다
2.
문자열로 된 숫자를, "진짜 숫자"로 만드는 방법 중 쉬운 방법으로는 그 문자열에 곱하기 1을 하면 숫자로 변한다고 함. 해보니 진짜 바뀜
3.
parseInt() 함수로 정수(int)로 변환할 수 있고, parseFloat() 함수로 실수로 변환해 줄 수 있다고 함. 역시 바뀜
... 저기 텍스트레이어 A,B 의 소스텍스트에있는 숫자는
어찌되었든 문자열로 반환되게 되어있지만 eval() 함수로 인해 숫자열로 바뀌었다.
근데 이 상태로도 이미 숫자화 되어있는데 뒤에 toString() 을 왜 붙였는지 모르겠다. 다시 *1 을 해줘서 숫자열로 바꾸는 과정이 필요했나?
왜 그랬지?
그냥 복붙하다보니 왜 그랬는지 지금도 잘 모르겠다..
위의 식은 문자열로 반환되는 '숫자' 를 숫자열로 변환하는 과정이지만
아래는 문자와 숫자가 혼합되어있는 문자열에서 '숫자' 만 추출하고 나열된 숫자를 그대로 숫자열로 사용하는 방식이다.
str = "문자열에서 숫자만 추출해 숫자열로 활용, 여기서는 100을 입력해 보자"; // 문자열
str = str.replace(/[^0-9]/g,""); // 문자열에서 0~9 의 숫자만 추출
Number(str) // 추출된 숫자를 나열하고 숫자열로 바꿈
'Tutorial' 카테고리의 다른 글
| [itutorial]자신의 위치부터 천천히 적용시키기 (0) | 2015.10.06 |
|---|---|
| [itutorial] 두 레이어 사이에 평균으로 위치하는 레이어들. (0) | 2015.07.16 |
| [itutorial] 조건 충족시 특정시간 동안 포지션이동이 가능한가? (0) | 2015.07.16 |
| [itutorial] 문자를 숫자로 만들어주는 .toString (0) | 2015.07.16 |
| [itutorial] 숫자를 문자로 만들어주는 .toString (0) | 2015.07.16 |