将整数转换为 Word 的最佳方法
Best way to Convert Integer to Word
将 integer
变量转换为 word
的最佳方法是什么?
我有 integer
变量 Competencia.Ano
和 word
变量 YearOf(TFilialTabelaProcessosAdministrativosJudiciais(ListaProcessos[index]).InicioValidadeEvento))
我需要比较两者,如何更改两者的类型?
无需将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显然是不一样的
然后将Var1Integer
(4字节)分配给Var3Word
(2字节). Integer
的高 2 字节被截断,所以第二个 IF 为真!
将 integer
变量转换为 word
的最佳方法是什么?
我有 integer
变量 Competencia.Ano
和 word
变量 YearOf(TFilialTabelaProcessosAdministrativosJudiciais(ListaProcessos[index]).InicioValidadeEvento))
我需要比较两者,如何更改两者的类型?
无需将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显然是不一样的
然后将Var1Integer
(4字节)分配给Var3Word
(2字节). Integer
的高 2 字节被截断,所以第二个 IF 为真!