2014-09-26 3 views
0

asp.gridview 편집 모드에서 편집 할 수 있습니다. day 필드 중 하나를 클릭하면 SQL Server 데이터베이스의 테이블 필드 (float 데이터 유형)가 업데이트됩니다. 1.5를 입력하고 제출을 클릭하면 정확히 1.5가 삽입됩니다. 그러나 1.6과 같은 다른 값을 입력하면 제출시 1.5999786이됩니다. 왜 그런가요? 어떻게 테이블에 그대로 입력 된 값을 허용 할 수 있습니다.삽입 된 float 값 자체에 둘러싸여 있습니다.

+0

부동 소수점 값은 대략적인 값입니다. 정확한 결과를 원할 때 사용하지 마십시오. –

+0

'num_col as decimal (10, 1)' – codingbiz

답변

1

인터페이스 문제는 아니지만 데이터베이스 구조 문제입니다.

float 데이터 형식은 대략적인 데이터 형식입니다. 즉, 저장된 값은 입력 한 값이 아니라 데이터 유형에 의해 처리 될 수있는 값의 가장 근사치입니다.

값을 저장해야하는 경우 다른 데이터 유형을 선택해야합니다. 10 진수는 좋은 선택입니다.

differences between decimal and float을 온라인으로 설명하는 기사가 많이 있습니다.

ms 웹 사이트에서도 usage guidelines을 찾을 수 있습니다.