转换:REAL、LREAL
重要
如果浮点数在目标数据类型的值范围内,则转换在所有系统上以相同的方式进行。
如果浮点数超出范围限制,则不考虑该数字的第一个字节。
运算符将浮点数转换为指定的数据类型并返回类型转换的值。如果适用,转换是四舍五入的。
如果 REAL_TO_<目标类型> 转换时,值首先转换为 UDINT
然后才转换为目标类型。
对于 LREAL_TO_<目标类型> 转换时,值首先转换为 ULINT
然后才转换为目标类型。
调用语法: REAL_TO_<目标类型>(<操作数>), LREAL_TO_<目标类型>(<操作数>)
操作数 | 类型 | 描述 |
---|---|---|
变量或文字 |
|
REAL/LREAL_TO_<target type>
运算符:REAL | 运算符:LREAL | 例子 | 返回值 | |
---|---|---|---|---|
|
| REAL_TO___UXINT(1.234) LREAL_TO___UXINT(0.987654321) |
| |
|
| |||
|
| |||
|
| |||
|
| LREAL_TO_BOOL(0.987654321) |
| |
|
| REAL_TO_BYTE(1.234) LREAL_TO_BYTE(0.987654321) |
| |
|
| REAL_TO_DATE(1.234) LREAL_TO_DATE(0.987654321) |
| |
|
| REAL_TO_DINT(1.234) |
| |
|
| REAL_TO_DT(1.234) |
| |
|
| REAL_TO_DWORD(1.234) |
| |
|
| REAL_TO_INT(-1.5) |
| |
|
| REAL_TO_LDATE(1.234) |
| 在内部,它首先被转换为 |
|
| LREAL_TO_DT(0.987654321) |
| 目标数据类型: |
|
| REAL_TO_LINT(1.234) |
| |
|
| |||
| - | REAL_TO_LREAL(1.234) |
| |
|
| 在内部,它首先被转换为 | ||
|
| |||
- |
| |||
|
| |||
|
| REAL_TO_STRING(1.234) |
| |
|
| REAL_TO_TIME(1.234) |
| 在内部,它首先被转换为 ULINT,然后以 ms 为单位返回值。 |
|
| REAL_TO_TOD(1.234) |
| 在内部,它首先被转换为 UDINT,然后将值作为 TOD 返回。 语法:TOD#hh:mm:ss.sss |
|
| |||
|
| |||
|
| |||
|
| |||
|
| REAL_TO_WORD(1.2345678E11) |
| |
|
| REAL_TO_WSTRING(1.23456789E11) |
|
四舍五入
转换为整数时,操作数向上或向下舍入为整数值。对于小数点后的 1 到 4,数字向下舍入。对于 5 到 9,数字向上取整。然后将四舍五入的数字转换为指定的整数类型。如果四舍五入的值超出整数值范围,则返回未定义的目标系统相关值。那时也可能出现异常错误。
转换为字符串
对于浮点数到字符串的转换,尾数的小数位数限制为 6。如果数字 < 1,则尾数为 1 <= m < 10
.如果尾数在逗号后有更多位数,则将其四舍五入到第 6 位,然后进行转换。
对于返回值,字符串变量也可能被声明得太短。在这种情况下,返回字符串在右侧被截断。
