숫자를 소수점 이하까지 표시하려면 어떻게 하면 됩니까? > 그누4 질문답변

그누4 질문답변

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

숫자를 소수점 이하까지 표시하려면 어떻게 하면 됩니까? 정보

숫자를 소수점 이하까지 표시하려면 어떻게 하면 됩니까?

본문

검색해보니
---------------------------------------------------------------------------------------------
필드타입 decimal
값 ( 정수, 소수) 3,2
예) 정수 5자리, 소숫점 2자리
5,2
위 예제의 경우, 정수는 최대5자리, 소숫점은 2자리까리 제한됩니다.
또한 필드에 값 입력시 정수값만 입력하면 출력시 뒤에 소숫점 2자리는 자동으로 .00 으로 출력됩니다.

주로 해외 쇼핑몰작업할때, 펑션처리가 귀찮은경우, 위와같이 금액필드를 바꾸어서 처리합니다.
-----------------------------------------------------------------------------------------------
 
다음과 같은 글이 있는데 어떻게 적용하라는 건지....잘 모르겠습니다
 
부탁드립니다.

댓글 전체



가격등을 표시할때 소숫점 이하까지 표시하려고 합니다.

즉 123.45 이렇게 하려고 하는데
입력하면 현재는 123 이렇게만 나옵니다.

감사합니다.
1. 필드타입 decimal
decimal 은 압축하지 않은 고정 소수표현입니다. 숫자이긴 한데, 마치 문자열처럼 각자리가 1character 공간을 차지하는 형입니다.
float은 부동 소수로써, 두가지 표현법이 있는데, float(p) / float(m, d)입니다.
float(p)는 단정도 소수표현법이며 p는 0-24까지 가능합니다. 이보다 큰 숫자(25-53)를 지정할 경우에는 double형처럼 복정도 소수로 바뀝니다. 내부적으로는 실질적으로 float이나 double과 동일한 자료형입니다만(그래서 어떤 수치를 주든 float으로 표현됩니다.) 외부표시유효자리수등이 지정되지 않은 상태입니다.
float(m,d)는 float에 전체자리수와 소수점이하 자리수를 지정해줄 때 사용합니다.

** decimal의 경우 고정소수표현으로 문자열처럼 처리되기 때문에 정확한 소수값을 유지하고 싶을 때 사용됩니다만, 연산은 부동 소수점 연산되므로 연산결과에 주의해야 합니다.

예를 들면...DB테이블에
"test    decimal(10,8) NOT NULL "
와 같은 test 필드가 있다면 그 필드에는 10자리의 데이터가 들어가는데 8자리는 소수점이고, 2자리가 정수가 되겠죠.

현재 저장되는 필드타입이 decimal 이 아니라면 필드타입을 바꿔야 겠죠.

 123.45 와 같이 저장하려면...

"test    decimal(5,2) NOT NULL " 와 같이 필드타입이 되어야 되겠지요.

!주의주의
decimal의 경우 고정소수표현으로 문자열처럼 처리되기 때문에 정확한 소수값을 유지하고 싶을 때 사용됩니다만, 연산은 부동 소수점 연산되므로 연산결과에 주의해야 합니다.
!주의주의
decimal의 경우 고정소수표현으로 문자열처럼 처리되기 때문에 정확한 소수값을 유지하고 싶을 때 사용됩니다만, 연산은 부동 소수점 연산되므로 연산결과에 주의해야 합니다.

이 부분이 궁금하네요...자세한 답변 감사드립니다 죄송하지만
이 부분 조금 부연 설명을 부탁합니다
센트 단위를 표현하고자 하신다면

그냥 int로 하시고

표기할 때마다 100으로 나누는 방법도 고려해 볼 만 합니다.

float는 int만큼 정확한 계산을 하지 못합니다.
DB쪽은 int 내  버려 두고

php에서 표시할 때 number_format()을 이용해서 소숫점이하2자리까지 표시하면 됩니다.

자세한 것은 소스가 없으므로 힘드네요.
보통 백분율의 표시를

$rate = (값 / 총계 * 100);
$s_rate = number_format($rate, 2);

해서 $s_rate를 찍으면 소숫점 2자리 정도는 찍어 줍니다만....
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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