#1
|
|||
|
|||
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. |
#2
|
|||
|
|||
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. |
#3
|
|||
|
|||
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? |
#4
|
|||
|
|||
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. |
#5
|
|||
|
|||
Muchas gracias. Me funcionó.
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|