str me redondea a 2 decimales, un numero de 4 decimales

Estimados Amigos
xojo

Agradecerles por la respuesta que me pueden hacer llegar,
Tengo la necesidad de convertir un numero con decimales a texto, para ello utilizo la funcion str
A veces el str me convierte números con 4 decimales a 2 decimales y a veces con cuatro decimales

Sin embargo necesito que si tengo un numero con 4 decimales el str debe convertirme a una cadena respetando los 4 decimales, porque necesito conocer en que posicion (instr) se encuentra el punto decimal, pero me doy con la sorpresa, que no me los convierte exactamente.

Ejemplo 1

Dim n1 as double n1=1234.5897 MsgBox "El numero es "+str(n1)

El valor del numero que muestra es 1234.59 pero definitivamente lo que debería mostrarme debería ser 1234.5897, sin necesidad de de dar formato al str
el numero me lo muestra con 2 decimales y debería ser con 4 decimales

Sin embargo si tengo el siguiente codigo:

Dim n1 as double n1=123.0045 MsgBox "El numero es "+str(n1)

El valor del numero que muestra es con 4 decimales como lo es correctamente.

No se porque es la diferencia, en el ejemplo 1 y el ejemplo 2, porque me lo redondea en el ejemplo1 a 2 decimales, le agradezco sus respuestas.

Cordialmente,

Raul Juarez Pulache

v = format(ElNumero,"#.0000")
if right(v,2) = “00”) then v = left(v,len(v)-2)

Muchas Gracias Jeff.
Tenia que utilizar el Format

Bendiciones

Raul