Formato con decimales

29/04/2010 - 17:43 por Jose Dubonnet | Informe spam
Hola a tod@s,

Tomando un valor con decimales, como ejemplo 20,03 necesito convertirlo a
un campo de texto con una logitud de 10 caracteres, eliminar el símbolo ','
y completar a la izquierda con ceros. Es decir que quede del siguiente modo
0000002303.

Gracias de antemano por la ayuda.

Preguntas similare

Leer las respuestas

#1 José Mª Fueyo
29/04/2010 - 17:56 | Informe spam
Hola
Utiliza ésta función

<pego>
Public Function FormatearDecimales(dNum As Double) As String
Dim sIntermedio As String
sIntermedio = Right("0000000000" & Replace(CStr(dNum), ",", ""),
10)
FormatearDecimales = sIntermedio
End Function
</pego>

Salu2
José Mª Fueyo
[MS MVP Access]
#2 Juan M. Afan de Ribera
29/04/2010 - 23:32 | Informe spam
Hola,

además de la función que comenta Chema, también se podría hacer así:

Format(Str(tu_numero), "0000000000")
Saludos desde Barcelona,
Juan M. Afán de Ribera
http://accessvbafaq.mvps.org


"José Mª Fueyo" wrote:

Mostrar la cita
#3 Jose Dubonnet
30/04/2010 - 08:57 | Informe spam
Hola,

Funciona pero tengo un pequeño problema, si el valor es 20,35 tengo
0000002035 (perfecto) pero si el valor termina con decimal en cero 20,30
tengo 0000000203. Estoy creando un fichero de texto que posteriormente
importará otro programa por lo que en el último caso tendré 2,03 en vez de
20,30.

Gracias de nuevo por vuestra ayuda.

"José Mª Fueyo" escribió en el mensaje de noticias
news:
Hola
Utiliza ésta función

<pego>
Public Function FormatearDecimales(dNum As Double) As String
Dim sIntermedio As String
sIntermedio = Right("0000000000" & Replace(CStr(dNum), ",", ""),
10)
FormatearDecimales = sIntermedio
End Function
</pego>

Salu2
José Mª Fueyo
[MS MVP Access]
#4 José Mª Fueyo
30/04/2010 - 10:31 | Informe spam
Hola
Modifica el código, para usar la función format en lugar de la CStr.
Así te aseguras de obtener siempre dos cifras decimales, aunque la
segunda sea un cero

<pego>
Public Function FormatearDecimales(dNum As Double) As String
Dim sIntermedio As String
sIntermedio = Right("0000000000" & Replace(Format(dNum, "##0.00"),
",", ""), 10)
FormatearDecimales = sIntermedio
End Function
</pego>

Salu2
José Mª Fueyo
[MS MVP Access]
#5 Jose Dubonnet
30/04/2010 - 10:59 | Informe spam
Hola José Mª,

Funciona perfecto

Mil gracias.

Saludos,

J. D.

"José Mª Fueyo" escribió en el mensaje de noticias
news:
Hola
Modifica el código, para usar la función format en lugar de la CStr.
Así te aseguras de obtener siempre dos cifras decimales, aunque la
segunda sea un cero

<pego>
Public Function FormatearDecimales(dNum As Double) As String
Dim sIntermedio As String
sIntermedio = Right("0000000000" & Replace(Format(dNum, "##0.00"),
",", ""), 10)
FormatearDecimales = sIntermedio
End Function
</pego>

Salu2
José Mª Fueyo
[MS MVP Access]
Ads by Google
Search Busqueda sugerida