2010-04-22 3 views
0

데이터 집약적 모듈에서 작업합니다. 그리드에 바인딩 된 데이터 세트 안에 datacolumn이 있습니다. 내가 숫자 즉를 입력 할 때마다 내가 예상이 호텔을데이터 세트에 system.decimal 값을 저장하는 중에 문제가 발생했습니다.

Datatype  : System.Decimal 
MaxLength : -1 
DefaultValue : 0 

을 다음과 같이 세트를 DataColumn 속성입니다. 11001100011 은 11001100011.00으로 저장됩니다.

내부적으로 이것은 11001100000.00 !!!으로 저장됩니다.

system.decimal 데이터 유형의 올바른 사용에 대한 아이디어/입력 ??

감사 Srivatsa는

답변

1

나는 2 개의 다른 문제를 볼 수 있지만 귀하의 질문에 정말 얻을 조금 너무 불특정입니다. (일부 코드는 테스트에 적합합니다)

  1. 십진수는 이상적인 저장 컨테이너가 아닙니다. 수레와 복식과 마찬가지로 좋은 값과 정확도가 제한되어 있습니다. 그것은 단지 더 커질 것입니다.

  2. 단지 뭔가가 Decimal 유형이기 때문에이를 다루는 GUI 컨트롤이 이러한 큰 숫자를 처리하는 방법을 알고 있음을 의미하지는 않습니다. 먼저 float로 변환 한 다음 10 진수로 넣을 수 있습니다.

+0

문제에 대해 더 자세히 알려면 기본적으로 데이터 세트로 데이터 세트가있는 격자가 있습니다. 데이터 집합 내부의 열은 System.Decimal 유형입니다 (큰 값을 입력해야 함). 테스트 값을 입력하면 저장되고 표시되는 값이 동일하지 않습니다. 큰 값을 저장하기 위해 어떤 데이터 유형을 제안 하시겠습니까? – user321217

+0

Cine! 내 코드에서 계산을 위해 float로 변환하는 위치가 한 곳있었습니다. 내가 예상 한 결과를 얻으려고 제거했습니다 – user321217

+0

다행히 도울 수 있어요 :) – Cine

관련 문제