2009-04-13 2 views
12

십진 유형의 sizeof가 불분명합니다. 크기는 바이트 단위로 sql 서버에서와 같이 정밀도에 따라 다릅니다. C# 형식의 'decimal'에 대한 정밀도 변수가 있습니까?C# sizeof decimal?

나는 10 진수 형식의 sizeof를 호출하기 위해 안전하지 않은 코드를 켜고 싶지 않습니다. 어떻게이 접근합니까?

답변

15

다른 사람들이 말했듯이 decimal은 항상 16 바이트 (128 비트)입니다. decimal의 정밀도는 항상 28/29 숫자입니다. SQL의 DECIMAL 유형과는 달리 부동 소수점 유형입니다. 자세한 내용은 my article on it을 참조하십시오. 28 ~ 29 개 유효 숫자와

+1

링크를 클릭하여 기사를 읽는 것이 훨씬 더 좋은 답변입니다. MSDN은 기본 참조 원본에 실제로 필요한 저장 방법을 설명하지 못합니다. –

22

decimal 키워드는 128 비트 데이터 유형을 나타냅니다.

출처 : MSDN

+0

>? 흥미 롭 군. 물론 가정과 직장 모두에서 고속 연결이 가능하지만 흥미로운 점은 알 수 있습니다. – Powerlord

+0

예, 저속 버전을 참조 용으로 사용하는 것이 좋습니다. 대부분의 브라우저에서 훨씬 빠르게로드되고 멋지게 렌더링되기 때문입니다. –

+0

저 대역 용 +1 - 오늘도 새로운 것을 배웠습니다. –

5

은 .NET 프레임 워크의 System.Decimal의 크기는 16 바이트로 고정됩니다.

1

128 비트 정밀 진수 값, 128 비트 = 16 바이트 MSDN의 낮은 대역폭 버전이 지금있다