Se il numero in virgola mobile rientra nell'intervallo di valori del tipo di dati di destinazione, la conversione funziona allo stesso modo su tutti i sistemi.
Se il numero in virgola mobile supera il limite dell'intervallo, i primi byte del numero non vengono presi in considerazione.
Gli operatori convertono un numero in virgola mobile nei tipi di dati specificati e restituiscono un valore convertito. Se applicabile, la conversione viene arrotondata.
Nel caso di una conversione REAL_TO_<tipo di destinazione>, il valore viene prima convertito in UDINT e solo in seguito viene lanciato nel tipo di destinazione.
Nel caso della conversione LREAL_TO_<tipo di destinazione>, il valore viene prima convertito in ULINT e solo in seguito viene lanciato nel tipo di destinazione.
Sintassi della chiamata: REAL_TO_<tipo target>(<operando>), LREAL_TO_<tipo target>(<operando>)
|
Operando |
Tipo |
Descrizione |
|---|---|---|
|
Variabile o letterale |
REALE, LREALE |
REALE, LREALE |
Operatore: REAL/LREAL_TO_<tipo target>
|
Operatore: REALE |
Operatore: LREALE |
Esempio |
Valore di ritorno |
|
|---|---|---|---|---|
|
REALE_A___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 |
||
|
REALE_A___XWORD |
LREAL_TO___XWORD |
__UXINT, __XINT, __XWORD |
||
|
REAL_TO_BIT |
LREAL_TO_BIT |
BIT |
||
|
REALE_DA_BOOL |
LREALE_DA_BOOL |
LREAL_TO_BOOL(0.987654321) |
VERO |
BOOL |
|
REAL_TO_BYTE |
LREAL_TO_BYTE |
REAL_TO_BYTE(1.234) LREAL_TO_BYTE(0.987654321) |
1 |
Intero |
|
DATA_REALE |
LREAL_TO_DATE |
REAL_TO_DATE(1.234) LREAL_TO_DATE(0.987654321) |
D#1970-1-1 |
Tipo di dati: DATA |
|
REALE_DA_DINT |
LREALE_DA_DINT |
REAL_TO_DINT(1.234) |
1 |
Intero |
|
REAL_TO_DT |
LREAL_TO_DT |
REAL_TO_DT(1.234) |
D#1970-1-1-0:0:1 |
Tipo di dati: DATA |
|
REALE_DA_DWORD |
LREAL_TO_DWORD |
REAL_TO_DWORD(1.234) |
32#1 |
Intero |
|
REALE_DA_INT |
LREAL_TO_INT |
REAL_TO_INT(-1.5) |
-2 |
Intero |
|
REALE_DA_DATA |
LREAL_TO_LDATE |
REAL_TO_LDATE(1.234) |
DT#1970-1-1 |
Internamente, viene prima trasformato in ULINT e poi il valore viene restituito come data. |
|
REAL_TO_LDT |
LREAL_TO_LDT |
LREAL_TO_DT(0.987654321) |
D#1970-1-1-0:0:1 |
Tipo di dati di destinazione: LDATE_AND_TIME Tipo di dati: DATA |
|
REALE_DA_LINT |
LREAL_TO_LINT |
REAL_TO_LINT(1.234) |
1 |
Intero |
|
REAL_TO_LTOD |
LREAL_TO_LTOD |
Tipo di dati: DATA |
||
|
REALE_DA_LREALE |
- |
REAL_TO_LREAL(1.234) |
1.234 |
REALE, LREALE |
|
REAL_TO_LTIME |
LREAL_TO_LTIME |
Internamente, viene prima trasformato in ULINT e poi il valore viene restituito come in ns. Tipo di dati: TEMPO, LTIME |
||
|
REAL_TO_LWORD |
LREAL_TO_LWORD |
Intero |
||
|
- |
LREALE_DA_REALE |
|||
|
REAL_TO_SINT |
LREAL_TO_SINT |
Intero |
||
|
REAL_TO_STRING |
LREAL_TO_STRINGA |
REAL_TO_STRING(1.234) |
'1.234' |
STRINGA |
|
REALE_AL_TEMPO |
LREAL_TO_TIME |
REAL_TO_TIME(1.234) |
T#1ms |
Internamente, viene prima trasformato in ULINT e quindi il valore viene restituito come in ms. Tipo di dati: TEMPO, LTIME |
|
REALE_DA_TOD |
LREAL_TO_TOD |
REAL_TO_TOD(1.234) |
TOD#0:0:0.001 |
Internamente, viene prima trasformato in UDINT e poi il valore viene restituito come TOD. Sintassi: TOD#hh:mm:ss.sss Tipo di dati: DATA |
|
REALE_DA_UDINT |
LREAL_TO_UDINT |
Intero |
||
|
REALE_DA_UNO |
LREAL_TO_UINT |
Intero |
||
|
REALE_DA_ULINT |
LREAL_TO_ULINT |
Intero |
||
|
REALE_DA_USINT |
LREAL_TO_USINT |
Intero |
||
|
PAROLA_REALE |
LREAL_TO__WORD |
REAL_TO_WORD(1.2345678E11) |
1 |
Intero |
|
DA_VERO_A_STRINGA |
LREAL_TO_WSTRING |
REAL_TO_WSTRING(1.23456789E11) |
"1.234" |
VITE |
-
Arrotondamento
-
Conversione in stringa