从字符串更改为整数

时间:2014-01-20 08:23:03

标签: delphi

EveryOne我需要一些简单的方法来改变delphi 7中的整数和字符串

var 
Str:String;
Int:Integer;
// Here what i need to do
Str:='123';
Int:=Str.AsInteger
// or use this
Int:=123;
Str=Int.AsString;

4 个答案:

答案 0 :(得分:8)

最简单的方法是使用这两种方法:

IntVal := StrToInt(StrVal);    // will throw EConvertError if not an integer
StrVal := IntToStr(IntVal);    // will always work

您还可以使用容错性更高的TryStrToInt(远远优于捕获EConvertError):

if not TryStrToInt(StrVal, IntVal) then
  begin
  // error handling
  end;

如果您想使用默认值而不是明确地处理错误,可以使用:

IntVal := StrToIntDef(StrVal, 42);    // will return 42 if StrVal cannot be converted

答案 1 :(得分:4)

如果您使用的是最新版本的Delphi,除了之前的答案之外,您还可以根据需要使用伪OOP语法 - 命名约定只是ToXXX而不是AsXXX:

Int := Str.ToInteger
Str := Int.ToString;

整数助手还添加了Parse和TryParse方法:

Int := Integer.Parse(Str);
if Integer.TryParse(Str, Int) then //...

答案 2 :(得分:1)

您可以使用:

StrToInt(s)

IntToStr(i)

功能

答案 3 :(得分:-1)

type 
TForm1 = class(TForm) 
Button1: TButton; 
Edit1: TEdit; 
procedure Button1Click(Sender: TObject); 
end; 

Integer = class 
FValue: System.Integer; 
function ToString: string; 
public 
property Value: System.Integer read FValue write FValue; 
end; 

var 
Form1: TForm1; 

implementation 

function Integer.ToString: string; 
begin 
Str(FValue, Result); 
end; 

procedure TForm1.Button1Click(Sender: TObject); 
var 
Int:integer; 
begin
Int.Value:=45; 
Edit1.Text:=Int.ToString; 
end; 
end