2017-12-16 3 views
2

무언가를 성공할 확률을 나타내는 변수 $percentchance이 있습니다. 제가 도와 드리고 싶은 것은 100 또는 0 위에 표시되지 않기 위해서입니다.변수 및 한계 소수점의 최대 및 최소값 설정

현재이 min 기능을 사용하여 절대로 100을 초과했습니다.

<?php echo min(100, $percentchance); ?>

또 다른 문제는 가끔 26.3456처럼 퍼센트의 값을 얻을 수 있다는 것입니다, 그리고 그것이 올림 또는 내림 그 경우 26.35 같은 단지 2 소수를 표시하기 위해 어떤 방법을 기원합니다.

+1

당신은 그것의 새로운 값이 100 이상이면 $의 percentchance' 및 검사'에 새로운 값을 할당하는 기능을 만들 수 있습니다로 반올림해야하는 경우. 기본적으로 OOP는 많은 도움을 줄 것입니다. – Xatyrian

답변

2

첫 번째 문제에 대해 상한선과 하한선을 설정해야합니다. 두 번째 문제는 number_format으로 해결할 수 있습니다.

예 :

echo number_format(min(100, max(0, $x)), 2); 

항상 (예를 들어 1.1111.12로 반올림 할 것) 다음 두 번째 자리까지 반올림 적용하려면, 당신은 ceil을 활용할 수 있습니다.

echo number_format(min(100, max(0, ceil($x*100)/100)), 2); 
+0

@mickmackusa'number_format()'는 round() 함수와 같이 반올림합니다. :-) – Rayne

+0

'ceil' 스 니펫은'1.111'을'1.12'로 반올림하는 방법을 보여줍니다. – Rayne

+0

이 예제에서는 특정 숫자 뒤에 숫자> 0이 올 때마다'ceil() '을 사용합니다. 두 번째 10 진수. 'round (round) (1.111, 2) '를 호출 할 때'round'는 반올림하지 않습니다. 'ceil (1.111 * 100)/100' 대신'1.12'를 반환합니다. 질문의 모호한 마지막 문장의 예입니다. 'round()'의'$ mode' 옵션은이 경우에 대한 해결책이 없습니다. – Rayne

0

당신은 두 소수점 사용 round()

echo round(26.3456, 2); 
관련 문제