Skip to main content

Conversion : RÉEL, LREAL

Important

Si le nombre à virgule flottante se situe dans la plage de valeurs du type de données cible, la conversion fonctionne de la même manière sur tous les systèmes.

Si le nombre à virgule flottante dépasse la limite de plage, les premiers octets du nombre ne sont pas pris en compte.

Les opérateurs convertissent un nombre à virgule flottante dans les types de données spécifiés et renvoient une valeur convertie en type. Le cas échéant, la conversion est arrondie.

Dans le cas d'un REAL_TO_<type de cible> conversion, la valeur est d'abord convertie en UDINT et seulement ensuite, convertissez-le en type cible.

Dans le cas de la LREAL_TO_<type de cible> conversion, la valeur est d'abord convertie en ULINT et seulement ensuite, convertissez-le en type cible.

Syntaxe d'appel: REAL_TO_<type de cible>(<opérande>), LREAL_TO_<type de cible>(<opérande>)

Opérande

Taper

Description

Variable ou littéral

REAL, LREAL

REAL, LREAL

Tableau 13. Opérateur: REAL/LREAL_TO_<target type>

Opérateur : REAL

Opérateur : LREAL

Exemple

Valeur de retour

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

Integer

REAL_TO_DATE

LREAL_TO_DATE

REAL_TO_DATE(1.234)
LREAL_TO_DATE(0.987654321)

D#1970-1-1

Type de données : DATE

REAL_TO_DINT

LREAL_TO_DINT

REAL_TO_DINT(1.234)

1

Integer

REAL_TO_DT

LREAL_TO_DT

REAL_TO_DT(1.234)

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

Type de données : DATE

REAL_TO_DWORD

LREAL_TO_DWORD

REAL_TO_DWORD(1.234)

32#1

Integer

REAL_TO_INT

LREAL_TO_INT

REAL_TO_INT(-1.5)

-2

Integer

REAL_TO_LDATE

LREAL_TO_LDATE

REAL_TO_LDATE(1.234)

DT#1970-1-1

En interne, il est d'abord coulé pour ULINT et ensuite la valeur est renvoyée sous forme de date.

REAL_TO_LDT

LREAL_TO_LDT

LREAL_TO_DT(0.987654321)

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

Type de données cible : LDATE_AND_TIME

Type de données : DATE

REAL_TO_LINT

LREAL_TO_LINT

REAL_TO_LINT(1.234)

1

Integer

REAL_TO_LTOD

LREAL_TO_LTOD

Type de données : DATE

REAL_TO_LREAL

-

REAL_TO_LREAL(1.234)

1.234

REAL, LREAL

REAL_TO_LTIME

LREAL_TO_LTIME

En interne, il est d'abord coulé pour ULINT et ensuite la valeur est renvoyée comme dans ns.

Types de données de temps

REAL_TO_LWORD

LREAL_TO_LWORD

Integer

-

LREAL_TO_REAL

REAL_TO_SINT

LREAL_TO_SINT

Integer

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

En interne, il est d'abord converti en ULINT, puis la valeur est renvoyée comme dans ms.

Types de données de temps

REAL_TO_TOD

LREAL_TO_TOD

REAL_TO_TOD(1.234)

TOD#0:0:0.001

En interne, il est d'abord converti en UDINT, puis la valeur est renvoyée sous la forme TOD.

Syntaxe : TOD#hh:mm:ss.sss

Type de données : DATE

REAL_TO_UDINT

LREAL_TO_UDINT

Integer

REAL_TO_UINT

LREAL_TO_UINT

Integer

REAL_TO_ULINT

LREAL_TO_ULINT

Integer

REAL_TO_USINT

LREAL_TO_USINT

Integer

REAL_TO__WORD

LREAL_TO__WORD

REAL_TO_WORD(1.2345678E11)

1

Integer

REAL_TO_WSTRING

LREAL_TO_WSTRING

REAL_TO_WSTRING(1.23456789E11)

"1.234"

WSTRING



Arrondi

Lors de la conversion en nombre entier, l'opérande est arrondi vers le haut ou vers le bas à une valeur entière. Pour les nombres compris entre 1 et 4 après la virgule décimale, le nombre est arrondi vers le bas. Pour les nombres compris entre 5 et 9, le nombre est arrondi vers le haut. Le nombre arrondi est ensuite converti au type entier spécifié. Si la valeur arrondie se situe en dehors de la plage de valeurs entières, une valeur indéfinie, dépendante du système cible, est renvoyée. Une erreur d'exception est alors également possible.

Conversion en chaîne

Pour une conversion de nombre à virgule flottante en chaîne, le nombre de décimales de la mantisse est limité à 6. Si le nombre est < 1, alors la mantisse est 1 <= m < 10Si la mantisse comporte plus de chiffres après la virgule, elle est alors arrondie au 6e chiffre puis convertie.

La variable chaîne peut également être déclarée trop courte pour la valeur de retour. Dans ce cas, la chaîne de retour est tronquée à droite.

Exemple 170. Exemple
_cds_img_fbd_convert_real_to_string.png