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

저장된 값이 double형으로 출력되는 문제 채택완료

우륵 7년 전 조회 3,237

디비에 0.00003718 이란 값이 저장되어 있습니다.

왜 자꾸 출력이 3.718E-5 라는 더블형으로 출력될까요? ㅜㅜ

형변환을 해봐도 안되고 ㅜㅜ

 

echo (string)$aaa; 해봐도 안되고

echo settype($aaa, 'string'); 해봐도 안되고

echo strval($aaa); 해봐도 안되고

 

그냥 저장된 값 그대로 보여주고 싶은데...

처음부터 다시 공부해야 하나보네요 전혀 모르겠...

조언 부탁드립니다. (__)

 

 

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

답변 2개

채택된 답변
+20 포인트
7년 전

function convertFloat($n) {    
    if (!strpos($n, 'E')) return $n;
    $ar = explode('E-', $n); 
    return '0.' . str_repeat('0', --$ar[1]) . str_replace('.' ,'', $ar[0]);
}

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

답변에 대한 댓글 1개

우륵
7년 전
슈와이님 감사드립니다. ^^;;
원인을 몰라서 기냥 number_format($aaa, 8); 로 하니 잘 보이네요 일단은 ^^
알려주신 방법도 활용해봐야겠네요 감사합니다.

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

7년 전

원래 저장도 그렇게 3.718E-5 되어 있습니다.

단지 그걸 보여주는 쪽에서 0.00003718 이렇게 보여주기도 하는거죠

 

자리수 최대 범위를 안다면 sprintf("%.8f",$aaa) 같은 방식으로 하면 강제로 바꿀수 있을지도?

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

답변에 대한 댓글 1개

우륵
7년 전
나시님 감사합니다. 디비에는 제가 문자로 0.00003718로 등록해놨습니다. 그런데 어쩐일인지 더블형으로 계속 출력되더라구요 ㅜㅜ 원인은 못찾았지만 해결했습니다. 감사합니다. ^^

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

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

로그인