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

时间:2018-04-17 12:04:11

标签: delphi type-conversion integer word

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

我有integer变量Competencia.Ano 以及word变量YearOf(TFilialTabelaProcessosAdministrativosJudiciais(ListaProcessos[index]).InicioValidadeEvento))

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

1 个答案:

答案 0 :(得分:0)

无需将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 Var1 Var2 显然不一样。

然后将 Var1 Integer(4个字节)分配给 Var3 Word(2个字节)。 Integer的高2字节是cutt,所以第二个IF是真的!