我使用QBFC以产生在发票的Quickbooks集成应用程序。我得到抛出lineItem.Amount.SetValue(VAL为双人间),当我试图进入一个编程产生双重异常。

下列不工作:

lineItem = invoice.ORInvoiceLineAddList.Append.InvoiceLineAdd
Dim amount as Double
amount = summary.dailySold * summary.dailyRate
loggingTxtBox.AppendText("Amount is " & amount & vbNewLine)
lineItem.Amount.SetValue(amount)

我接收唯一的例外是 System.Runtime.InteropServices.COMException(0x80040305):无效量格式。    在Interop.QBFC8.IQBAmountType.SetValue(双VAL)

在以下工作:

lineItem.Amount.SetValue(20.3)

任何建议?是.NET训释硬编码的双不同于一个编程计算的一个?

Thanks- 乔纳森

有帮助吗?

解决方案

找到它。

打印出 “量” 表明21.3

然而,使用调试器“量”实际上包含21.299999999997。的SetValue只接受两个小数点双打。

这确实起作用:

amount = CDbl(amount.ToString("F"))

有圆双到小数点后两位更高效的方法?

由于

乔纳森

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top