tostring 원하는 위치에만 점 찍기가 가능할까요? 채택완료
굼떠
1년 전
조회 3,681
this.target_frame.innerHTML = this.count.toString().replace(/\B(?=(\d{2})+(?!\d))/g, '.');
이게 두자리마다 점을 찍는찍는건데 저는 마지막 1자리에만? 점을 찍고싶습니다.
123인데 12.3처럼 보이게요.
가능할까요?
댓글을 작성하려면 로그인이 필요합니다.
답변 3개
채택된 답변
+20 포인트
1년 전
다음과 같이 하시면 되지 않을까 합니다.
</p>
<p>this.target_frame.innerHTML = this.count.toString().replace(/(\d)(?=(\d{2})+(?!\d))/g, '$1.');
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
�
굼떠
1년 전
$1. 이것이 무엇을 의미하나요?
�
웹메이킹
1년 전
정규 표현식에서 $1은 정규 표현식에서 괄호로 둘러싸인 첫 번째 그룹에 해당하는 것을 나타내며 괄호로 둘러싸인 부분은 패턴 매칭시에 캡처되는데, 이를 "캡처 그룹"이라고 합니다.
댓글을 작성하려면 로그인이 필요합니다.
1년 전
답변 감사합니다.
제이앤님의 답변은 제가 이해를 못해서 적용을 못하고... 웹메이킹님 답변은 적용이 안되네요.
그래서 어찌어찌 정규식을 검색해서 이거 저거 대입하고 있다가 해결을 하였습니다.
그런데 정작.. 무슨 뜻인지를 모르겟네요.
혹시 설명해주실 수 있을까요 ?
</p>
<p>this.target_frame.innerHTML = this.count.toString().replace(/\B(?=(\d{1})(?!\d))/g, '.');</p>
<p>
(\d{1})(?!\d) 요 부분이 이해가 안갑니다..
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
�
웹메이킹
1년 전
\d{1}: 이 부분은 하나의 숫자를 나타냅니다.
\d는 숫자를 의미하고, {1}는 정확히 한 번만 해당 패턴이 반복되어야 함을 나타냅니다.
즉 \d{1}은 정확히 한 자리 숫자를 매칭하는 패턴입니다.
(?!\d): 이 부분은 "숫자 뒤에 숫자가 오지 않아야 한다"는 의미를 가집니다.
(?!\d)는 "숫자를 뒤따르지 않는 위치"를 찾는 "negative lookahead"입니다. 따라서 이 부분은 숫자가 뒤따르지 않는 위치, 즉 숫자의 끝을 의미합니다.
\d는 숫자를 의미하고, {1}는 정확히 한 번만 해당 패턴이 반복되어야 함을 나타냅니다.
즉 \d{1}은 정확히 한 자리 숫자를 매칭하는 패턴입니다.
(?!\d): 이 부분은 "숫자 뒤에 숫자가 오지 않아야 한다"는 의미를 가집니다.
(?!\d)는 "숫자를 뒤따르지 않는 위치"를 찾는 "negative lookahead"입니다. 따라서 이 부분은 숫자가 뒤따르지 않는 위치, 즉 숫자의 끝을 의미합니다.
�
굼떠
1년 전
감사합니다!
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인