십진수는 화폐 금액에있어 가장 현명한 유형입니다.
십진수는 소수점 이하 28 자리 + 소수점 이하 10 자리 숫자입니다. Decimal을 사용하면 기본 2 Double 유형을 사용할 때보다는 놀라움이 적습니다.
Double은 많은 일반적인 부동 소수점 연산을위한 CPU 하드웨어로 인해 Decimal 및 Double과 같은 메모리를 사용하는 것이 훨씬 빠르지 만 대부분의 기본 10 분수 (예 : 1.05)를 정확하게 나타내지는 못하며 정확도가 떨어집니다 + 정밀도의 10 진수. Double은 더 많은 범위 (더 크고 작은 수를 나타낼 수 있음)의 이점을 가지고 있으며 일부 계산, 특히 일부 통계 계산에 유용 할 수 있습니다.
Decimal은 4 자리 10 진수로 고정 소수점입니다. 그렇지 않다. 당신이 의심하는 경우, 다음 코드 줄이 0.0000000001 산출 통지 :
Console.WriteLine("number={0}", 1m/10000000000m);
그 모든 말한다면, 흥미 롭다 즉, Microsoft Excel에서 화폐 양의 작업을위한 세계에서 가장 널리 사용되는 소프트웨어 , double을 사용합니다. 물론, 그들은 잘 작동되도록 많은 농구를 뛰어 넘어야하며, 여전히 원하는 것을 남겨 둡니다. 엑셀이 두 식을 시도
- 을 1-0.9-0.1 =
- = (1-0.9-0.1)
를 제 수율 0 번째 ~ 수율 -2.77e-17 . 엑셀은 실제로 어떤 경우에는 숫자를 더하거나 뺄 때 숫자를 마사지하지만 모든 경우에는 그렇지 않습니다.
누군가가 이것을 왜 투표했는지 궁금 할 것 같습니다. –
아래 투표를 상쇄하기 위해 투표했습니다. 나는 아래 표결이 코멘트없이 허용되어야한다고 생각하지 않는다. –