FoxPro/Visual FoxPro - CONSULTA

 
Vista:

CONSULTA

Publicado por albert (14 intervenciones) el 16/07/2007 17:44:42
Tengo una data con campo de tipo numerico de 13 digitos de longitud 11 enteros y 02 decimales, la duda que tengo radica en lo siguiente:

Cuando le ingreso por ejemplo la siguiente cantidad 127250.66 solo estoy utilizando 08 campos ademas se ve reflejado los 02 decimales por ser campo numerico pero si yo quisiera crear un archivo de texto con ese campo pero quisiera que dicho archivo cuando lo genere tomando la cantidad en mencion se vea de la siguiente manera
0000012725066 es decir que le adicione 5 ceros para poder completar 13 digitos, gracias a quien me pueda facilitar su valiosa ayuuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:CONSULTA

Publicado por Jorge (423 intervenciones) el 16/07/2007 18:53:20
Hola
Intenta con algo asi:

xvar=padl(alltrim(str(valorNum,13,2)),5,'0)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONSULTA

Publicado por adrian (228 intervenciones) el 16/07/2007 23:42:57
Te envio esta rutina, suponiendo que tu tabla se llame PERSONAS y
tu campo MONTO

*Tranformar tu campo MONTO en caracter y
*completarlo con CEROS a la izquierda

USE PERSONAS
*determina el ancho del campo
LargoCadena=FSIZE('monto')

STORE monto TO m.monto

*-elimina los decimales y lo pasa a enteros
m.monto=m.monto*100
m.monto=ALLTRIM(STR(m.monto, LargoCadena))

*-completa con ceros a la izquierda la
*-longitud de la cadena
STORE PADL(m.monto, LargoCadena, "0") TO m.monto

?m.monto

*-end

*Esta ultima funcion (PADL) usala para los otros campos
*Espero te sirva de Ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Espero te sirva

Publicado por Gabriel (1 intervención) el 20/07/2007 03:54:22
Hola Alvert:

Mira lo que deseas hacert es muy simple.....

*Multiplicas por 100 para convertirlo a entero ya que tiene dos decimales

nCampo=Tunumero*100 &&variable numerica

cCampo=PADL(ALLTRIM(STR(nCampo)),13,'0') &&eso es lo que deseas

en la variable cCampo está lo que deseas tener

recuerda esto

PADL(expresion,longitud,caracter que relenará los espacios vacios)

Si la expresion es un dato numérico pues debemos convertirla a caracter

por ello

STR(nCampo) bueno luego elimino los posibles espacios en blanco que pueda tener esta variable:

ALLTRIM(STR(nCampo)) ----> Expresion

13 -->longitud

'0' --> caracter que rellenará los espacios en blancoooooo

espero te sea de mucha ayuda ....

Gabriel..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar