Ciao sssimone,
per quanto mi risulta i calcoli anche millesimali, marginali, con VB sono precisi. Però questa affermazione dipende da come vengono utilizzate le variabili o se prima dell'inserimento nella variabile siano effettuati o meno degli arrotondamenti e/o troncamenti dei decimali.
Il tipo Double è utilizzata per valori con un ampio numero di decimali, pertanto è precisa nella maggior parte dei casi applicativi.
Però se vuoi potresti utilizzare il nuovo tipo di dati "Decimal" che tratta numeri astronomici, con 28 posizioni decimali. Il predetto tipo ha però delle limitazioni (Confronta MSDN alla voce Tipo di dati Decimal) nell'utilizzo.
Dalla lettura "(moltiplicando l'input per 1000 non ottengo un output*1000 come invece deve essere)" mi viene un dubbio, come dichiari le variabili? Dim dblPippo1 as Double, dblPippo2 as Double; o viceversa: Dim dblPippo1, dblPippo2 as Double. Perchè in quest'ultimo caso si verificherebbero gli errori che lamenti, dato che solo l'ultima variabile è Double mentre la prima è Variant.
Spero di esserti stato utile.
Ciao.

Rispondi quotando