ورود

View Full Version : سوال: محاسبه ارقام بالا



sj1501
چهارشنبه 07 تیر 1391, 07:53 صبح
سلام به استادان بزرگوار

procedure TForm1.Button1Click(Sender: TObject);
var x,n:longint;
begin
x:= strtoint(edit1.Text);
n:=x*2;
label1.Caption := inttostr(n);
end;
end.

در ادیت باکس عدد 9999999999 رو تایپ کردم و ارور ("9999999999" is not a valid integer value) داد باید چکار کنم که ارقام بالا رو بشه محاسبه کرد؟؟؟؟؟؟؟؟؟؟؟؟

البته می دونم خیلی بیش پا افتادست :خجالت:خب من مبتدیم:ناراحت:

mohsen24000
چهارشنبه 07 تیر 1391, 08:18 صبح
Min int64 value = -9223372036854775808
Max int64 value = 9223372036854775807

sj1501
چهارشنبه 07 تیر 1391, 08:23 صبح
دوست عزیز

کد رو به صورت زیر تغییر دادم بازم همون ارور داد

procedure TForm1.Button1Click(Sender: TObject);
var x,n:int64;
begin
x:= strtoint(edit1.Text);
n:=x*2;
label1.Caption := inttostr(n);
end;
end.

me.enik
چهارشنبه 07 تیر 1391, 08:27 صبح
دلیلش این هستش که مقداری که وارد میکنید, از مقدار فضایی که متغییرهای int یا همون integer دارند, بیشتر است و نمیشه اون عدد رو توش ذخیره کرد. :چشمک:

sj1501
چهارشنبه 07 تیر 1391, 08:27 صبح
درست شدددددددددددددد مرسییی فهمیدم کجاش اشکال داشت

باید اینجا هم int64 می نوشتم
x:= strtoint64(edit1.Text);

:بوس:

mohsen24000
چهارشنبه 07 تیر 1391, 08:29 صبح
StrToInt64
Int64ToStr