نمایش نتایج 1 تا 6 از 6

نام تاپیک: گرد کردن اعداد

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    تهران
    پست
    310

    Tick گرد کردن اعداد

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

  2. #2
    VIP آواتار hr110
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    1,460
    از دو تابع Round و trunc استفاده کنید. ضمناً گرد کردن مختص اعداد اعشاری بوده و اعداد صحیح را نمیتوان گرد کرد!
    بنابراین باید ابتدا اعداد اعشاری شده، سپس گرد شده و دوباره به عدد اول تبدیل شود ؛ به عنوان مثال :
    (round(X / 1000))*1000
    ... چه بگویم که غم از دل برود چون تو بیایی

  3. #3
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112
    از roundto در یونیت math استفاده کنید. برای پارامترها به help مراجعه کنید. از round و trunc کامل تره.

  4. #4
    کاربر دائمی
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    آنجا سرای ابدی است
    پست
    2,011
    تابع دیگری هم به نام SimpleRound وجود داره!
    این تابع گرد کردن عدد را همونجوری که انتظار دارید انجام می ده!
    تو ریاضی گرد کردن به چند روش انجام می شه!

  5. #5
    کاربر جدید
    تاریخ عضویت
    آبان 1386
    محل زندگی
    آ.غربي-بوكان
    پست
    4

    Thumbs up نقل قول: گرد کردن اعداد

    تابع دیگری هم به نام RoundTo وجود داره!
    این تابع گرد کردن عدد را همونجوری که انتظار دارید انجام می ده!
    تو ریاضی گرد کردن به چند روش انجام می شه!

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

    جواب:
    1236000

  6. #6
    کاربر دائمی آواتار mbshareat
    تاریخ عضویت
    آبان 1387
    محل زندگی
    شهر مقدس قم-چهارمردان-کوچه 37
    پست
    962

    نقل قول: گرد کردن اعداد

    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 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •