Obtener la parte decimal de una variable decimal
Estoy recibiendo como parámetro en una función un dato de tipo decimal
por ejemplo 19, 008
y debo dejarla formateada a string (formato 10,4, rellenar con 0) para grabarla en un txt
así quedaría 00019,0080
Yo hago en mi función:
LPARAMETERS cCadena aS Decimal, nLongitud as Integer, pDecimal as Integer
nEntero=INT(cCadena)
nDecimal= ABS(nEntero - cCadena)
IF pDecimal=1
nDecimal= nDecimal *1
endif
IF pDecimal=2
nDecimal= nDecimal *100
endif
IF pDecimal=3
nDecimal= nDecimal *1000
endif
IF pDecimal=4
nDecimal= nDecimal *10000
endif
cCadena= ALLTRIM(STR(nEntero)) + "." + PADL(ALLTRIM(STR(nDecimal)), pDecimal, '0')
cCadenaFormat =PADL(ALLTRIM(cCadena), nLongitud, '0')
RETURN cCadenaFormat
Esta bien hacerl oasi o hay alguna forma más fácil, esta forma me devuelve el valor que quieroe pero no se si se me esta pasando algo por alto
Gracias
por ejemplo 19, 008
y debo dejarla formateada a string (formato 10,4, rellenar con 0) para grabarla en un txt
así quedaría 00019,0080
Yo hago en mi función:
LPARAMETERS cCadena aS Decimal, nLongitud as Integer, pDecimal as Integer
nEntero=INT(cCadena)
nDecimal= ABS(nEntero - cCadena)
IF pDecimal=1
nDecimal= nDecimal *1
endif
IF pDecimal=2
nDecimal= nDecimal *100
endif
IF pDecimal=3
nDecimal= nDecimal *1000
endif
IF pDecimal=4
nDecimal= nDecimal *10000
endif
cCadena= ALLTRIM(STR(nEntero)) + "." + PADL(ALLTRIM(STR(nDecimal)), pDecimal, '0')
cCadenaFormat =PADL(ALLTRIM(cCadena), nLongitud, '0')
RETURN cCadenaFormat
Esta bien hacerl oasi o hay alguna forma más fácil, esta forma me devuelve el valor que quieroe pero no se si se me esta pasando algo por alto
Gracias
1 Respuesta
Respuesta de keystone CITI
1