데이터베이스 입력할때 소수점 입력이 안되요

데이터베이스 입력할때 소수점 입력이 안되요

QA

데이터베이스 입력할때 소수점 입력이 안되요

본문

PDO 랑 mysqli 둘다 해봤는데 1.4를 입력하면 그냥 반올림되서 1이 되버리네요 그이하 소수점 자리도 그렇구요

 

데이터베이스 칼럼 타입은 int, demical, float 다 해봤는데도 그냥 자동 반올림 되버립니다.

 

POST로 값 전송은 확실하게 제대로 되는데 왜 데이터베이스에 입력할때는 혼자 마음대로 반올림이 되어버릴까요??

ajax로 

 

data {

'a-price': parseFloat(modal.find('#a-price').val()),

}

 

이렇게 POST로 값을 전송하고

 

$_POST['a-price'] 값을 데이터베이스에 입력합니다.

 

왜이럴까요

이 질문에 댓글 쓰기 :

답변 2

mysql 의 소수점 처리시 decimal 타입을 추천합니다. 

소수점 한자리 decimal(5,1), decimal(6,1), ...

 

mysql 에서 데이터 타입이 소수점 처리가 가능할 때 자동으로 반올림 처리되는 것과 관련된

얘기는 아직 듣지 못했습니다.

 

ajax 처리 페이지로 넘어간 값과, mysql 의 sql 문을 단계적으로 디버깅 한뒤,

저장 칼럼의 data type 을 점검해보는 순서로 살펴보는 것이 좋을 것 같습니다.

 

ajax 처리 페이지에서 넘어오는 값과,

sql 문을 echo 로 확인할 수 있습니다. (크롬 브라우저 개발자 도구 (F12) > 네트워크 탭 > ajax 처리 파일)

ex. echo $a-price; echo $sql; 

실제 수행되는 sql 문을 db 툴(phpmyadmin, HeidiSQL, adminer 등) 에서 쿼리 실행하여, 값이 정삭적으로 입력되는지

살펴보는 것이 좋을 듯 합니다.

좋은정보 감사드립니다.
소수점은 잘 전송되는데 왜그럴까 하고 그냥 varchar로 해서 입력받았네요..

decimal로 했을때 작동 하는데 0.1 만 입력하고싶은데 0.1000 이렇게 뜨더라구요

감사합니다 ㅎㅎ

답변을 작성하시기 전에 로그인 해주세요.
전체 36
QA 내용 검색

회원로그인

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