Alberto, non funziona così, mi sa che non hai capito il problema
il problema l'avevo capito, solo che io usavo il tipo decimal e non il tipo double che per default restituisce il valore corretto poichè rappresenta il tipo con più cifre rappresentabile per un numero, ma che limita E a +-28. Quindi non so se la precisione con 29 cifre significative ti è sufficiente, ma evidentemente no.
Questo era il mio test:
Dim Numerodec As Decimal = 25 ^ 14
Dim i As Integer = (From c As Char In numerodec.ToString Where Char.IsDigit(c)).Count
Alberto.