Formateo numérico.

26/09/2005 - 10:56 por Salvador Ramos | Informe spam
Hola a todos,

Tengo que generar un fichero de texto a partir de datos de mi base de datos
en un formato de longitud fija de columnas, alineando los números a la
derecha y siempre con dos decimales. El problema lo tengo al formatear un
campo numérico añadiendo blancos por la izquierda y comprobando que siempre
lleva 2 decimales (si no hay valor deben tener ceros por la derecha). Hasta
ahora tengo resuelto cómo añadir los blancos por la izquierda, pero no los 0
por la derecha.
Os paso un ejemplo, en el que la primera línea es correcta y la segunda y
tercera no para los números 69.55, 96.3 y 68 (sólo funciona correctamente
cuando el número ya tiene 2 decimales):
AD 69.55
AD 96.3 (incorrecta, debería llevar un blanco menos por la izquierda y
poner 96.30)
AD 68 (incorrecta, debería llevar 3 blancos menos por la izquierda y
poner 68.00

Me podéis echar una mano a confeccionar esta conversión ?
Tengo una solución pero es utilizando varias UDF's de terceros para el
manejo de strings que prefiero no utilizar si tengo otra solución más
sencilla.

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL server, Windows DNA y .NET)
 

Leer las respuestas

#1 Maxi
26/09/2005 - 13:57 | Informe spam
Hola Salva, una pregunta: has intentando multiplicar todos los valores por
1.00?


Salu2
Maxi


"Salvador Ramos" escribió en el
mensaje news:
Hola a todos,

Tengo que generar un fichero de texto a partir de datos de mi base de
datos en un formato de longitud fija de columnas, alineando los números a
la derecha y siempre con dos decimales. El problema lo tengo al formatear
un campo numérico añadiendo blancos por la izquierda y comprobando que
siempre lleva 2 decimales (si no hay valor deben tener ceros por la
derecha). Hasta ahora tengo resuelto cómo añadir los blancos por la
izquierda, pero no los 0 por la derecha.
Os paso un ejemplo, en el que la primera línea es correcta y la segunda y
tercera no para los números 69.55, 96.3 y 68 (sólo funciona correctamente
cuando el número ya tiene 2 decimales):
AD 69.55
AD 96.3 (incorrecta, debería llevar un blanco menos por la izquierda
y poner 96.30)
AD 68 (incorrecta, debería llevar 3 blancos menos por la izquierda
y poner 68.00

Me podéis echar una mano a confeccionar esta conversión ?
Tengo una solución pero es utilizando varias UDF's de terceros para el
manejo de strings que prefiero no utilizar si tengo otra solución más
sencilla.

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL server, Windows DNA y .NET)


Preguntas similares