Salut,
Référence MSDN:Single (single-precision floating-point) codé sur 32 bits
3.4028235E+38 through -1.401298E-45 ? for negative values;
1.401298E-45 through 3.4028235E+38 ? for positive values
Double (double-precision floating-point) codé sur 64 bits
-1.79769313486231570E+308 through -4.94065645841246544E-324 ? for negative values;
4.94065645841246544E-324 through 1.79769313486231570E+308 ? for positive values
Decimal codé sur 128 bits
0 through +/-79,228,162,514,264,337,593,543,950,335 (+/-7.9...E+28) ? with no decimal point;
0 through +/-7.9228162514264337593543950335 with 28 places to the right of the decimal;
smallest nonzero number is +/-0.0000000000000000000000000001 (+/-1E-28) ?Un Single n'est effectivement pas très précis, on utilise le plus souvent le type Double pour faire des calcules à virgule flotante. Si j'ai bien compris (j'ai jamais eu besoins de l'utiliser), le type Decimal est encore plus précis, mais ne peut pas stoquer des valeurs aussi grande (ou petite) qu'un Double.
Tu nous parle du nombre de chiffres
après la virgule, mais le nombre de chiffre
avant la virgule est tout aussi important... mais je pense que le type Double, avec ses 18 chiffres significatifs devrait faire ton affaire.
++