polestar
سه شنبه 07 اردیبهشت 1389, 15:35 عصر
با سلام
میخواستم یه متغییر از نوع Extended رو به رشته تبدیل کنیم بطوریکه اون عدد نرمال نشه(بصورت نمایی 123E+10 )نوشته نشه برای اینکار از FloatToStrF استفاده کردم:
procedure TForm1.Button1Click(Sender: TObject);
var
e:Extended;
S:String;
begin
e:=123456789012345678;
s:=FloattoStrF(e,ffGeneral,35,5);
label1.Caption:=s;
end;
ولی در کمال تعجب عدد بصورت 123456789012345680 نوشته میشه با اینکه من دقت رو 30 رقم تعیین کردن ولی این به رند کردن عدد ربط نداره چون اعداد دیگه ای هم تست کردم!اگه تعداد رقمو بازم بیشتر کنیم اونو بصورت نمایی مینویسه کسی میدونه مشکل کار از کجاست؟ راه دیگه ای برای اینکار وجود داره؟
میخواستم یه متغییر از نوع Extended رو به رشته تبدیل کنیم بطوریکه اون عدد نرمال نشه(بصورت نمایی 123E+10 )نوشته نشه برای اینکار از FloatToStrF استفاده کردم:
procedure TForm1.Button1Click(Sender: TObject);
var
e:Extended;
S:String;
begin
e:=123456789012345678;
s:=FloattoStrF(e,ffGeneral,35,5);
label1.Caption:=s;
end;
ولی در کمال تعجب عدد بصورت 123456789012345680 نوشته میشه با اینکه من دقت رو 30 رقم تعیین کردن ولی این به رند کردن عدد ربط نداره چون اعداد دیگه ای هم تست کردم!اگه تعداد رقمو بازم بیشتر کنیم اونو بصورت نمایی مینویسه کسی میدونه مشکل کار از کجاست؟ راه دیگه ای برای اینکار وجود داره؟