Skip to main content

SA0133:显式缩小转换

检测从较大数据类型到较小数据类型的显式转换

理由:大量类型转换可能表明您为变量选择了错误的数据类型。因此,有一些编程指南要求对数据类型转换提供明确的理由。

重要性:低

56. 例子
PROGRAM SA0133
VAR
    siVar:SINT;
    diVar:DINT;
    liVar:LINT;
    byVar:BYTE;
    uiVar:UINT;
    dwVar:DWORD;
    lwVar:LWORD;
    rVar:REAL;
    lrVar:LREAL;
END_VAR
siVar := LINT_TO_SINT(liVar);    // SA0133
byVar := DINT_TO_BYTE(diVar);    // SA0133
siVar := DWORD_TO_SINT(dwVar);    // SA0133
uiVar := LREAL_TO_UINT(lrVar);    // SA0133
rVar := LWORD_TO_REAL(lwVar);    // SA0133

输出在 留言 看法:

  • sa_icon_message.png SA0133:从类型“LINT”到类型“SINT”的显式缩小转换

  • sa_icon_message.png SA0133:从类型“DINT”到类型“BYTE”的显式缩小转换

  • sa_icon_message.png SA0133:从类型“DWORD”到类型“SINT”的显式缩小转换

  • sa_icon_message.png SA0133:从类型“LREAL”到类型“UINT”的显式缩小转换

  • sa_icon_message.png SA0133:从类型“LWORD”到类型“REAL”的显式缩小转换