Cambiar tipo de vble
Hola!
Estoy intentando convertir una vble de tipo char a tipo decimal. Sería por ejemplo pasar de CHAR = 31,87 a DECIMAL = 31,87. Alguien sabe como hacer esta conversión? Gracias. |
Se puede asignar directamente de una variable char a una de tipo numerico
ejemplo data : var1(10) type n, var2(10) type c value '256748'. move var2 to var1. write : / var1, / var2. o puedes usar la funcion MOVE_CHAR_TO_NUM ejemplo codeDATA: lv_chr(4) type c, lv_num type p. CALL FUNCTION 'MOVE_CHAR_TO_NUM' EXPORTING CHR = lv_chr IMPORTING NUM = lv_num EXCEPTIONS CONVT_NO_NUMBER = 1 CONVT_OVERFLOW = 2 OTHERS = 3. IF SY-SUBRC 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. saludos. |
Como pasar de type f a type p decimals X
Hola!!
el problema es que no estoy trabajando con numeros enteros, es con decimales. Conseguí pasar de tipo char a tipo f con la función CALL FUNCTION 'CHAR_FLTP_CONVERSION' el problema es que ahora me visualiza el dato de esta manera 7,968E-1 en vez de 0,7968 que es lo que yo quiero. Alguien sabe como puedo pasar de tipo f a tipo p con 4 5 decimales por ejemplo? |
Con lo que te devuelve la función en el campo flstr lo mueves a una variable tipo p con los decimales que quieras:
data gv_p TYPE p decimals 4. ..... gv_p = flstr. |
Muchas gracias. Me funcionó.
|
Husos Horarios son GMT. La hora en este momento es 14:36:00. |
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web