Skip to main content

Conversión: REAL, LREAL

Importante

Si el número de punto flotante está dentro del rango de valores del tipo de datos de destino, la conversión funciona de la misma manera en todos los sistemas.

Si el número de punto flotante excede el límite del rango, no se tienen en cuenta los primeros bytes del número.

Los operadores convierten un número de punto flotante en los tipos de datos especificados y devuelven un valor convertido al tipo. Si corresponde, se redondea la conversión.

En el caso de una REAL_TO_<tipo de destino> conversión, el valor se convierte primero a UDINT y solo entonces se convierte al tipo de destino.

En el caso de la LREAL_TO_<tipo de destino> conversión, el valor se convierte primero a ULINT y solo entonces se convierte al tipo de destino.

Sintaxis de llamada: REAL_TO_<tipo de destino>(<operando>), LREAL_TO_<tipo de destino>(<operando>)

Operando

Tipo

Descripción

Variable o literal

REAL, LREAL

REAL, REAL

tabla 13. Operador: REAL/LREAL_TO_<target type>

Operador: REAL

Operador: LREAL

Ejemplo

Valor de retorno

REAL_TO___UXINT

LREAL_TO___UXINT

REAL_TO___UXINT(1.234)
LREAL_TO___UXINT(0.987654321)

1

1

__UXINT, __XINT, __XWORD

REAL_TO___XINT

LREAL_TO___XINT

__UXINT, __XINT, __XWORD

REAL_TO___XWORD

LREAL_TO___XWORD

__UXINT, __XINT, __XWORD

REAL_TO_BIT

LREAL_TO_BIT

BIT

REAL_TO_BOOL

LREAL_TO_BOOL

LREAL_TO_BOOL(0.987654321)

TRUE

BOOL

REAL_TO_BYTE

LREAL_TO_BYTE

REAL_TO_BYTE(1.234)
LREAL_TO_BYTE(0.987654321)

1

Entero

REAL_TO_DATE

LREAL_TO_DATE

REAL_TO_DATE(1.234)
LREAL_TO_DATE(0.987654321)

D#1970-1-1

Tipo de dato: DATE

REAL_TO_DINT

LREAL_TO_DINT

REAL_TO_DINT(1.234)

1

Entero

REAL_TO_DT

LREAL_TO_DT

REAL_TO_DT(1.234)

D#1970-1-1-0:0:1

Tipo de dato: DATE

REAL_TO_DWORD

LREAL_TO_DWORD

REAL_TO_DWORD(1.234)

32#1

Entero

REAL_TO_INT

LREAL_TO_INT

REAL_TO_INT(-1.5)

-2

Entero

REAL_TO_LDATE

LREAL_TO_LDATE

REAL_TO_LDATE(1.234)

DT#1970-1-1

Internamente, primero se lanza a ULINT y luego el valor se devuelve como una fecha.

REAL_TO_LDT

LREAL_TO_LDT

LREAL_TO_DT(0.987654321)

D#1970-1-1-0:0:1

Tipo de datos de destino: LDATE_AND_TIME

Tipo de dato: DATE

REAL_TO_LINT

LREAL_TO_LINT

REAL_TO_LINT(1.234)

1

Entero

REAL_TO_LTOD

LREAL_TO_LTOD

Tipo de dato: DATE

REAL_TO_LREAL

-

REAL_TO_LREAL(1.234)

1.234

REAL, REAL

REAL_TO_LTIME

LREAL_TO_LTIME

Internamente, primero se lanza a ULINT y luego el valor se devuelve como en ns.

Tipo de dato: TIME, LTIME

REAL_TO_LWORD

LREAL_TO_LWORD

Entero

-

LREAL_TO_REAL

REAL_TO_SINT

LREAL_TO_SINT

Entero

REAL_TO_STRING

LREAL_TO_STRING

REAL_TO_STRING(1.234)

'1.234'

STRING

REAL_TO_TIME

LREAL_TO_TIME

REAL_TO_TIME(1.234)

T#1ms

Internamente, primero se convierte a ULINT y luego se devuelve el valor en ms.

Tipo de dato: TIME, LTIME

REAL_TO_TOD

LREAL_TO_TOD

REAL_TO_TOD(1.234)

TOD#0:0:0.001

Internamente, primero se convierte a UDINT y luego el valor se devuelve como TOD.

Sintaxis: TOD#hh:mm:ss.sss

Tipo de dato: DATE

REAL_TO_UDINT

LREAL_TO_UDINT

Entero

REAL_TO_UINT

LREAL_TO_UINT

Entero

REAL_TO_ULINT

LREAL_TO_ULINT

Entero

REAL_TO_USINT

LREAL_TO_USINT

Entero

REAL_TO__WORD

LREAL_TO__WORD

REAL_TO_WORD(1.2345678E11)

1

Entero

REAL_TO_WSTRING

LREAL_TO_WSTRING

REAL_TO_WSTRING(1.23456789E11)

"1.234"

WSTRING



Redondeo

Al convertir a un entero, el operando se redondea hacia arriba o hacia abajo hasta un valor entero. Para los números del 1 al 4 después del punto decimal, el número se redondea hacia abajo. Para los números del 5 al 9, el número se redondea hacia arriba. Luego, el número redondeado se convierte al tipo entero especificado. Si el valor redondeado está fuera del rango de valores enteros, se devuelve un valor indefinido que depende del sistema de destino. En ese caso, también es posible que se produzca un error de excepción.

Convertir a cadena

Para una conversión de un número de punto flotante a una cadena, la cantidad de decimales de la mantisa está limitada a 6. Si el número es < 1, entonces la mantisa es 1 <= m < 10. Si la mantisa tiene más dígitos después de la coma, se redondea al sexto dígito y luego se convierte.

También es posible que la variable de cadena se declare demasiado corta para el valor de retorno. En este caso, la cadena de retorno se trunca a la derecha.

ejemplo 170. Ejemplo
_cds_img_fbd_convert_real_to_string.png