그누보드 계급장 스킨에대하여 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

그누보드 계급장 스킨에대하여 정보

그누보드 계급장 스킨에대하여

본문

 
위링크를 통해 계급장 스킨을 받앗습니다
 
level.extend.php 파일을 수정햇습니다
 
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
function get_member_level($mb_point) {
    global $g4;
    $s = "";
    $point = $mb_point;
    if ($point < 2000) $point = 2000;
    $level = (int)($point / 2000);
    if ($level > 75) $level = 75;
    $no = sprintf("%03d", $level);
    return "<img src='$g4[path]/img/l/{$no}.gif' align=absmiddle hspace=1 title='레벨 {$level} / ".number_format($mb_point)."점'>";
}
?>
 
 
보시다시피 20000 x = > 2000 으로 고친게 전부입니다.
 
그런데 포인트 2000 이 넘어갓는데두 불과하고 계급장 은 레벨 1로 표시됩니다
 
이거 소스에 문제가잇는건가요>?

댓글 전체

$level = (int)($point / 2000);

$point = 2000이라고 가정

그렇다면 $level = (int)(2000/2000) ???
(int)는 정수형(... -2 , -1, 0, 1, 2, ...)

당연히 '1'이 출력되는 게 맞습니다.

$point = 4000이라고 가정

$level = 4000/2000 ???
$level은 마찬가지로 당연히 2를 출력합니다.

그런데 여기서 잠깐!!!
$point = 3999라고 가정

$level = 3999/2000 = 1.9995...
$level = (int)(1.995...) = 1
why? (int)는 정수형(소숫점 이상의 값만 취함)이기 때문입니다.


-. 필히 참조해야 할 관련내용 : 데이터형(숫자형, 데이터형)
숫자형은 int, big, tinyint...
데이터형은 char, varchar, word, text, 날짜형...


질문을 하셨으면 적절한 피드백도 따라야 할 것 같군요.

또한 질문자체가 죄송한 것이 아니라,

답변을 챙기지 않는 자세 자체가 스스로에게 부끄러워야 할 것 같습니다.

http://sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=26324&sca=&sfl=mb_id%2C1&stx=wmfqk2803&spt=&page=
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT