테스트 사이트 - 개발 중인 베타 버전입니다

레벨 포인트 프로그레스바를 구현하고 있습니다. 채택완료

Modify 5년 전 조회 2,229

다른건 다 됐지만 백분율을 구하는 것에서 막히고 있습니다.

 

(필요포인트/현재포인트)*100

 

위 수식을 쓴다면 백분율을 구할 수 있습니다.

 

다만 보유하고 있는 포인트가 증가할수록 필요포인트는 줄어들고 현재포인트는 늘어나서

 

유동적으로 백분율도 작아집니다.

 

하지만 만드려는 기능은 포인트 프로그레스바이기 때문에 백분율(%)이 작아지면 안되고

 

다음 레벨까지의 필요한 총 포인트에 맞춰 보유하는 포인트가 증가할수록 백분율도 증가해야합니다.

(최대 100%)

 

가지고 있는 변수는 아래와 같습니다.

 

현재 포인트
다음 레벨까지 필요한 포인트
다음 레벨이 되는 맥스 포인트

 

간단한 사칙연산으로 어떻게 수식을 세워야 위와 같은 백분율로 동작하게 할 수 있을까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
플래토
5년 전

예를들어

 

1레벨 => 2레벨 => 3레벨 => 4레벨

0          100           1000       3000

이라고 가정하고

현재 300포인트일때

다음레벨은 1000포인트이지만

현재 레벨구간에서 적용되는 포인트는 900 포인트이고

내가 현제 레벨에서 취득한 포인트는 200 포인트라서

200/900 이면 현재 레벨에서 취득한 비율이고

(900-200) / 900 이면 남은 비율이 됩니다.

 

200이란 점수는 = 내포인트(300) - 전레벨Max값 100 

900 이란 점수는 = 현재구간Max - 전레벨Max 

가 됩니다.

이값을 가지고 현재 레벨의 남은 비율을 판단하면됩니다.

 

현 레벨에서 취득한 점수비율을 계산하려면 200/900 * 100 

현 레벨에서 남은 점수비율을 계산하려면 (900-200)/900*100 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

M
Modify
5년 전
감사합니다 플래토님
(현재포인트 - 이전max) / (현재max - 이전max) * 100
알려주신 위 공식으로 깔끔하게 해결 되었습니다!!
복 받으세요!!

댓글을 작성하려면 로그인이 필요합니다.

플래토
5년 전

수식값이 좀 이상한듯 한데요

 

현재포인트 / 필요포인트 * 100 을 해야 하는거 아닌가싶네요

 

그래야.. 달성포인트에 도달하기 위한 현재 몇 %인지 확인가능하고

다 도달되면 레벨업(?) 등의 행위에 의해 다음목표(필요포인트)가 등장하는 개념인것 같은데..

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

M
Modify
5년 전
넵 맞습니다 그런데 그렇게 수식을 적용해야하는 것이 아니고
현재 포인트가 늘어나고 필요 포인트가 줄어들면 백분율도 줄어드는데
현재 포인트가 늘어나고 필요 포인트가 줄어들수록 백분율을 최대 100%를 목표로 증가되도록 하고싶습니다.
플래토
5년 전
필요포인트에 도달하게하려면

현재 레벨의 포인트취득을 하여야하니

마찬가지로

현재필요 레벨 필요포인트 = 레벨포인트Max값 - 전레벨Max포인트
현재레벨의취득포인트 = 현재포인트 - 전레벨Max포인트

와 같이 계산해서 남은 잔여 비율을 표기하시면
위에 처음생각하신 방식으로 계산에 대입하면 될듯합니다.
M
Modify
5년 전
현재필요 레벨 필요포인트
현재레벨의취득포인트

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

댓글 주신 거 보고 10분 생각 해봤는데..
위 포인트 종류를 무얼 말씀하시는지 이해가 안됐습니다

필요 포인트는 다음 레벨이 되는 포인트가 들어가야하는 게 맞지않나요??

제가 가지고 있는 변수의 내용은 이렇습니다

현재 포인트 (말 그대로 현재 포인트)
다음 레벨까지 필요한 포인트 (현재 포인트 - 다음 레벨이 되는 포인트)
다음 레벨이 되는 맥스 포인트 (말 그대로 다음 레벨이 되는 포인트)
M
Modify
5년 전
감이 안옵니다 선생님..

현재 포인트 / 다음 레벨에 도달할 수 있는 고정 값 포인트 * 100

위 수식에서 고쳐야될 것 같은데 어떻게 해야할까요..
다음 레벨이 되면 포인트는 초기화되는 개념이 아니라 높은 수치부터 시작하게 됩니다 ㅠ(80~90%)

이걸 0%부터 시작하게 하려면 어떻게 해야할까요..

댓글을 작성하려면 로그인이 필요합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

M
Modify
5년 전
프로그레스바를 구현하는 방법의 질문이 아닌
수식을 어떻게 세워야할 지 몰라서 드리는 질문입니다 ㅜㅜ

프로그레스바는 이미 구현됐어요..!
다른 거 다 필요없이 딱 숫자(백분율%)만 구현하면 끝이라서요..

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인