J'utilise QBFC pour générer des factures dans une application d'intégration Quickbooks. J'obtiens une exception levée pour lineItem.Amount.SetValue (val as Double) lorsque j'essaie d'entrer un double généré par programme.Différents types de doubles dans vb.net?
Ce qui suit ne fonctionne pas:
lineItem = invoice.ORInvoiceLineAddList.Append.InvoiceLineAdd
Dim amount as Double
amount = summary.dailySold * summary.dailyRate
loggingTxtBox.AppendText("Amount is " & amount & vbNewLine)
lineItem.Amount.SetValue(amount)
L'exception que je reçois est System.Runtime.InteropServices.COMException (0x80040305): format Montant non valide. à Interop.QBFC8.IQBAmountType.SetValue (Double val)
Les travaux suivants:
lineItem.Amount.SetValue(20.3)
suggestions? Est-ce que .NET interprète un double codé en dur différemment d'un double calculé par programme?
Jonathan Action de grâce
Qu'est-ce 'amount' égal dans votre exemple? Est-il par hasard négatif ou hors d'une sorte de limites? – Blindy
Pouvez-vous nous donner quelques exemples de données? Qu'est-ce que le débogueur vous dit la valeur de "montant" est avant l'appel à SetValue()? –
Etes-vous sûr que vous êtes supposé fournir des doubles? Peut-être que cette fonction nécessite des décimales? Les programmes financiers fonctionnent souvent avec des décimales plutôt que des doubles. –