2009-12-18 3 views
2

sql 데이터 형식 money map을 C# float로 변환합니까?잘 떠있는 돈지도가 있습니까?

+0

mrblah 또한 꽤 높은 점수를 받았습니다. Google과 같은 질문을 올리기 전에이 정확한 질문을 검색하십시오. 그것은 수백 번 물었습니다. – JonH

+0

@JonH : SO 검색을 부탁드립니다. 그러나 SO 이후의 선택은 Google 이후의 두 번째 선택이 아니 었습니다. 이 사이트는 Google 검색이 불필요하도록 특별히 고안되었습니다. 신뢰할 수있는 사이트를 사람들에게 제공하여 Google이 수백 가지의 신뢰할 수없는 사이트를 가리 키지 않고 답변을 얻을 수있는 신뢰할 수있는 사이트를 제공합니다. – jalf

+0

@ jalf - 간단하고 간단한 질문을 게시하는 대신 내 검색이 필요합니다. 게다가 Google에서 검색하면 결과가 여기에 표시된다는 사실이 상당히 큰 기회입니다. 코딩의 한가운데서 신속하게 뭔가를 필요로한다면 인터넷 검색에 아무런 문제가 없습니다. – JonH

답변

12

아니요 ... decimal에 매핑됩니다. 열이 null을 허용하면 Nullable<Decimal>으로 매핑됩니다.

Mapping CLR Parameter Data

float 충분히 정확한 금전적 인 계산에 사용되지 않습니다. 당신은 모든 곳에서 돈을 잃거나 얻는 것입니다.

+1

열에 만 null이 허용되는 경우에만 - 그렇지 않으면 Decimal에 직접 매핑됩니다. –

+0

@Reed - 설명해 주셔서 감사합니다. 나 자신보다 앞서있어. 적절하게 업데이트 됨. –

+0

답변이 수정 되었음이 표시되지 않는 이유는 무엇입니까? – CSharpAtl

2

10 진수를 사용합니다.

진수 값 형 포지티브 79,228,162,514,264,337,593,543,950,335 부정적인 79,228,162,514,264,337,593,543,950,335 범위 진수를 나타낸다. 많은 중요한 정수 및 소수 자릿수가 필요하고 재무 수치가 반올림되지 않으므로 재무 계산의 경우 십진 값 형식이 적절합니다. 오류가 발생했습니다. Decimal 형식에서는 반올림 할 필요가 없으므로 이 없습니다. 대신 반올림하여 오류가 최소화됩니다.

0

번호

Decimal에 매핑됩니다. MONEY 열에서 null 값을 허용하는 경우 Nullable<Decimal>.으로 매핑됩니다. 자세한 내용은 SQL-CLR Type Mapping을 참조하십시오.

Float은 돈을 다루는 수치 계산에는 충분하지 않습니다. 10 진수 값을 사용하여 항상 모든 계산을 수행해야합니다.

0

아니요, float은 화폐 가치를 처리하기에는 너무 낮은 정밀도입니다. 7 자리 숫자는 당신을 멀리하지 않습니다. 또한 부동 소수점 유형은 숫자가 표현되는 방식으로 인해 반올림 오류가 발생하기 쉽습니다.

Decimal 데이터 형식을 사용하십시오.

2

돈을 잃고 싶을 때만 가능합니다.

+3

+1은 snark, -1은 대안이 없습니다. – Will

관련 문제