我正在编写一个将八进制数转换为十进制和十六进制的程序。我写了一个叫OctToInt
的函数。将八进制数转换为十进制和十六进制
function OctToInt(Value: string): Longint;
var
i: Integer;
int: Integer;
begin
int := 0;
for i := 0 to Length(Value) do
begin
int := int * 8 + StrToInt(Copy(Value, i, 1));
end;
Result := int;
end;
我调用这个函数以这种方式:
var oct:integer;
begin
oct:=OctToInt(Edit13.Text);
Edit15.Text:=IntToStr(oct);
end;
当我键入34
(八)十进制数应该是28,但该计划给了我220你知道为什么吗?
另外,你有任何关于转换器OctToHex的想法吗?
['你确定你写过吗?](http://www.delphitricks.com/source-code/math/convert_an_octal_number_to_integer.html):-)? – TLama
我已经看到:D –
它可能会发生,毕竟给你的变量明智的名字是不广泛举行的信仰系统。 Var int:整数。我的眼睛在流血。 –