将integer
变量转换为word
的最佳方式是什么?
我有integer
变量Competencia.Ano
以及word
变量YearOf(TFilialTabelaProcessosAdministrativosJudiciais(ListaProcessos[index]).InicioValidadeEvento))
我需要比较两者,如何更改两者的类型?
答案 0 :(得分:0)
无需将integer
转换为word
进行比较。
Integer
的范围为-2,147,483,648
到2,147,483,647
Word
只有0
到65,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是真的!