将整数转换为 Word 的最佳方法

Best way to Convert Integer to Word

integer 变量转换为 word 的最佳方法是什么?

我有 integer 变量 Competencia.Anoword 变量 YearOf(TFilialTabelaProcessosAdministrativosJudiciais(ListaProcessos[index]).InicioValidadeEvento))

我需要比较两者,如何更改两者的类型?

无需将integer转换为word进行比较。

一个Integer的范围是-2,147,483,6482,147,483,647

一个Word只从065,535

如果您尝试将 Integer 分配给 Word,它将是 bitclipt!

procedure TForm1.Button1Click(Sender: TObject);
var Var1 : Integer;
    Var2,
    Var3 : Word;
begin
 Var1 := 131071;
 Var2 :=  65535;
 if Var1 = Var2
  then MessageDlg('Var1 = Var2 ('+IntToStr(Var1)+' = '+IntToStr(Var2)+')'  ,mtInformation,[mbOK],0)
  else MessageDlg('Var1 <> Var2 ('+IntToStr(Var1)+' <> '+IntToStr(Var2)+')',mtInformation,[mbOK],0); // <--

 Var3 := Var1;
 if Var2 = Var3
  then MessageDlg('Var2 = Var3 ('+IntToStr(Var2)+' = '+IntToStr(Var3)+')'  ,mtInformation,[mbOK],0) // <--
  else MessageDlg('Var2 <> Var3 ('+IntToStr(Var2)+' <> '+IntToStr(Var3)+')',mtInformation,[mbOK],0);
end;

在第一个IF中Var1Var2显然是不一样的

然后将Var1Integer(4字节)分配给Var3Word(2字节). Integer 的高 2 字节被截断,所以第二个 IF 为真!