gpt4 book ai didi

vb.net - 我如何处理 vb.net 中 double 的舍入错误?

转载 作者:行者123 更新时间:2023-12-04 23:57:01 24 4
gpt4 key购买 nike

我正在尝试使用 vb.net 来平衡一组货币值。这两个值的总计被转换为 double 值。在某些情况下,我会遇到舍入错误。

避免这种情况的最佳方法是什么?有没有一种我可以优先使用的类型?如何将结果值四舍五入到小数点后两位?

这是我的代码 - 我可能不需要显示它,但以防万一。

  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

最佳答案

对于财务计算,我认为目前的智慧是使用小数而不是双数。

您可能对此讨论感兴趣 Decimal Vs. Double .

关于vb.net - 我如何处理 vb.net 中 double 的舍入错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/186693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com