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' への明示的な縮小変換