كيف يمكنني التعامل مع أخطاء التقريب في الزوجي في vb.net؟
-
06-07-2019 - |
سؤال
وأنا أحاول تحقيق التوازن بين مجموعة من قيم العملات باستخدام vb.net. يلقي مجاميع كل من هذه القيم كما مزدوج. أنا الحصول على أخطاء التقريب في بعض الحالات.
ما هي أفضل طريقة لتجنب هذا؟ هناك نوع I يمكن استخدامها في تفضيل لمضاعفة؟ كيف يمكنني تدوير القيمة الناتجة إلى منزلتين عشريتين؟
إليك قانون بلدي - أنا ربما لا تحتاج إلى إظهار ذلك، ولكن فقط في حالة.
Dim nInvValue As Double
Dim nCreditValue As Double
For Each oReferenceItem In oMatchInvoices
Dim nUnallocated As Double = oReferenceItem.DocumentOutstandingValue - oReferenceItem.DocumentAllocatedValue
If ((nUnallocated <> 0) And (sReferenceValue = oReferenceItem.InstrumentNo)) Then
iCount = iCount + 1
If (oReferenceItem.IsDebit) And (nUnallocated > 0) Then
nInvValue = nInvValue + nUnallocated
InvoiceList.Add(nUnallocated.ToString("c"), oReferenceItem.URN.ToString)
End If
If (oReferenceItem.IsCredit) And (nUnallocated < 0) Then
nCreditValue = nCreditValue - nUnallocated
CreditList.Add(nUnallocated.ToString("c"), oReferenceItem.URN.ToString)
End If
End If
Next
المحلول
لحسابات المالية وأعتقد أن الحكمة الحالية هو استخدام الكسور العشرية بدلا من الزوجي.
وكنت قد تكون مهتمة في هذه المناقشة عشري مقابل مزدوجة.
نصائح أخرى
وحاول استخدام نوع عشري.
لا تنتمي إلى StackOverflow