دوستان سلام
من هر چه جستجو کردم در مورد گرد کردن اعداد به دلخواه موضوعی پیدا نکردم .
می خواهم یک عدد را به دلخواه گرد کنم مثلا عدد 1254250 را به سه رقم گرد کرده و عدد 1254000 و یا عدد 1254570 به 1255000 حاصل گردند .
با تشکر
دوستان سلام
من هر چه جستجو کردم در مورد گرد کردن اعداد به دلخواه موضوعی پیدا نکردم .
می خواهم یک عدد را به دلخواه گرد کنم مثلا عدد 1254250 را به سه رقم گرد کرده و عدد 1254000 و یا عدد 1254570 به 1255000 حاصل گردند .
با تشکر
از دو تابع Round و trunc استفاده کنید. ضمناً گرد کردن مختص اعداد اعشاری بوده و اعداد صحیح را نمیتوان گرد کرد!
بنابراین باید ابتدا اعداد اعشاری شده، سپس گرد شده و دوباره به عدد اول تبدیل شود ؛ به عنوان مثال :
(round(X / 1000))*1000
... چه بگویم که غم از دل برود چون تو بیایی
از roundto در یونیت math استفاده کنید. برای پارامترها به help مراجعه کنید. از round و trunc کامل تره.
تابع دیگری هم به نام SimpleRound وجود داره!
این تابع گرد کردن عدد را همونجوری که انتظار دارید انجام می ده!
تو ریاضی گرد کردن به چند روش انجام می شه!
تابع دیگری هم به نام RoundTo وجود داره!
این تابع گرد کردن عدد را همونجوری که انتظار دارید انجام می ده!
تو ریاضی گرد کردن به چند روش انجام می شه!
مثال:
Edit2.Text:=FloatToStr(RoundTo(1236525 ,3));
جواب:
1236000
RoundTo جالبه. من این کد رو اختراع کردم!
function Trunc2(N:Integer;ZiroNo:Byte):Integer ;
Var
M:Integer;
begin
M:=Round(Power(10,ZiroNo));
Result:=Round(Trunc(N/Round(Power(10,ZiroNo-1)))/10)*M;
end;
استفاده:
ShowMessage(IntToStr(Trunc2(1234567,2)));
ShowMessage(IntToStr(Trunc2(1234532,2)));
فرقش در نوع خروجی هست که اعشار(RoundTo) باشه یا عدد صحیح!(پست سوخته و من دارم با جواب کلنجار میرم)
آخرین ویرایش به وسیله mbshareat : پنج شنبه 29 دی 1401 در 19:52 عصر