엑셀리더를 이용하여 음수를 받았을경우 양수로 변합니다.

엑셀리더를 이용하여 음수를 받았을경우 양수로 변합니다.

QA

엑셀리더를 이용하여 음수를 받았을경우 양수로 변합니다.

본문

1028489085_1557469483.9401.png

 

위 이미지처럼 엑셀을 만들었습니다.

 


$file = $_FILES['excelfile']['tmp_name'];
include_once(GML_LIB_PATH.'/Excel/reader.php');
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('UTF-8');
$data->read($file);
error_reporting(E_ALL ^ E_NOTICE);
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
        $j = 1;
        $us_product        = trim(addslashes($data->sheets[0]['cells'][$i][$j++]));
        $us_money        = trim(addslashes($data->sheets[0]['cells'][$i][$j++]));
        echo $us_money;
}

 

위처럼 하니..

1014583924 란 숫자가 찍혀버리네요 ㅠ.ㅠ

음수가 왜 양수로 바뀌죠?

 

음수를 -59157900 이 아닌 -490000 으로 지정하여 하면 또 -490000 으로 잘 나옵니다.

 

이유를 모르겠네요...

이 질문에 댓글 쓰기 :

답변 4

 $us_money        = intval(  trim(addslashes($data->sheets[0]['cells'][$i][$j++])) );

형식을 정수형으로 바꿔보시고 해보세요 

$j = 1 을 for문 밖에서 선언했어야 하지 않나요?

=number_format(trim(addslashes($data->sheets[0]['cells'][$i][$j++])));

답변을 작성하시기 전에 로그인 해주세요.
전체 4

회원로그인

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