PDA

View Full Version : گرد کردن اعداد



مجتبی جوادی
سه شنبه 27 فروردین 1387, 01:08 صبح
دوستان سلام
من هر چه جستجو کردم در مورد گرد کردن اعداد به دلخواه موضوعی پیدا نکردم .
می خواهم یک عدد را به دلخواه گرد کنم مثلا عدد 1254250 را به سه رقم گرد کرده و عدد 1254000 و یا عدد 1254570 به 1255000 حاصل گردند .
با تشکر

hr110
سه شنبه 27 فروردین 1387, 08:30 صبح
از دو تابع Round و trunc استفاده کنید. ضمناً گرد کردن مختص اعداد اعشاری بوده و اعداد صحیح را نمیتوان گرد کرد!
بنابراین باید ابتدا اعداد اعشاری شده، سپس گرد شده و دوباره به عدد اول تبدیل شود ؛ به عنوان مثال :
(round(X / 1000))*1000

Vahid_moghaddam
سه شنبه 27 فروردین 1387, 09:41 صبح
از roundto در یونیت math استفاده کنید. برای پارامترها به help مراجعه کنید. از round و trunc کامل تره.

dkhatibi
سه شنبه 27 فروردین 1387, 18:38 عصر
تابع دیگری هم به نام SimpleRound وجود داره!
این تابع گرد کردن عدد را همونجوری که انتظار دارید انجام می ده!
تو ریاضی گرد کردن به چند روش انجام می شه!

rahimkh
دوشنبه 26 دی 1401, 00:00 صبح
تابع دیگری هم به نام RoundTo وجود داره!
این تابع گرد کردن عدد را همونجوری که انتظار دارید انجام می ده!
تو ریاضی گرد کردن به چند روش انجام می شه!

مثال:
Edit2.Text:=FloatToStr(RoundTo(1236525 ,3));

جواب:
1236000

mbshareat
پنج شنبه 29 دی 1401, 20:35 عصر
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) باشه یا عدد صحیح!(پست سوخته و من دارم با جواب کلنجار میرم:قهقهه:)