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]
Respuesta Responder a este mensaje
#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:

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]

.

Respuesta Responder a este mensaje
#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]
Respuesta Responder a este mensaje
#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]
Respuesta Responder a este mensaje
#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]
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida