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

수식계산...ㅠ 채택완료

초초동 5년 전 조회 2,337

a변수 값이 250,000

범위는 100,000~300,000

 

a변수 값이

해당 범위에서 %로 나타내면 몇%정도 인지 나타내려고 합니다...

 

그냥 계산하면  75% 인데..

이걸 수식으로 어떻게 할까요?

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

답변 2개

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

변수 a = 250000

범위 a >= 100000 && a <= 300000 {

    범위의 시작값 = 100000

    측정변수 = 변수에서 범위의시작직전의 값제거 = 250000 - (100000 -1)

    범위의 최종값 = 최종값 - 범위의 시작직전의값제거 = 300000 - (100000-1)

    비율 = 측정변수 / 범위의최종값 * 100

}

 

==>

 

$a = 250000;

$levelstart = 100000;

$levelend = 300000;

if ($a >= $levelstart && $a <= $levelend) {

    $realval = $a - ($levelstart - 1);

    $realend = $levelend - ($levelstart -1);

    $per = $realval / $realend * 100;

    echo $per."%";

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

답변에 대한 댓글 1개

초초동
5년 전
세상에... 딱 원하던 답입니다 ㅠㅠㅠ

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

B
5년 전

이미 채택 답변이 있으나 참고로 추가합니다.

</p>

<p>$a = 250000; // 참고로 PHP v7.4부터 25_0000 처럼 구분하기 편하게 표현 가능

$min = 100000;

$max = 300000;</p>

<p>$per = ($a-$min)/($max-$min)*100; // 75</p>

<p> </p>

<p>// 이하 참고 내용</p>

<p> </p>

<p>// 참고 1</p>

<p>if ( $per<=0 ) $per = 0; // 0% 이하 0%로 강제 변경</p>

<p>if ( $per>=100 ) $per = 100; // 100% 이상 100%로 강제 변경</p>

<p>// 초과는 상관없을 것 같지만, 꼭 범위 내의 값이어야 한다면 채택 답변처럼 범위 체크</p>

<p> </p>

<p>// 참고 2</p>

<p>$per = round(($a-$min)/($max-$min)*100, 2); // 75.00</p>

<p>// 또는</p>

<p>$per = sprintf('%0.2f', ($a-$min)/($max-$min)*100, 2); // 75.00</p>

<p> </p>

<p>// 참고 3. 반올림이 싫다면... 300,000 = 100%, 299,999 = 99.99% 처럼. *10000, /100 조정으로 다양하게.</p>

<p>$per = ($a-$min)/($max-$min)*10000;

$per = floor($per)/100;</p>

<p>

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

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

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

로그인