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

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

  1. #1
    کاربر دائمی آواتار Mask
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    اصفهان
    پست
    2,818
    تشکر کردن
    2,531
    1,178 بار تشکر شده در 649 پست

    Arrow گرد کردن اعداد صحیح

    با سلام
    میدونم که از نظر ریاضی این حرف معنی نداره.(چون گرد کردن مخصوص اعداد اعشاریه)
    اما میخام مثلا اگه عدد 123 برنامم گرفت تبدیل بشه به 120
    یا اگه 128 گرفت تبدیل بشه به 130
    منظورم اینه که اگه عدد آخر کمتر از 5 بود بشه 0 و اگه بیشتر از 5 بود بشه 10.
    ممنون از جوابتون.
    مغزهای بزرگ، در خصوص ایده ها صحبت می کنند.مغزهای متوسط، در مورد حوادث بحث می کنند و مغزهای کوچک، درباره مردم

  2. #2
    VIP آواتار Felony
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    Firmament
    پست
    5,772
    تشکر کردن
    494
    4,390 بار تشکر شده در 2,616 پست

    نقل قول: گرد کردن اعداد صحیح

    نمیدونم برای این کار تابعی هست یا نه ( احتمالا هست ) ولی من یه تکه کد نوشتم و درست کار میکنه :

    Function RoundNumber(Number: String): String;
    var
    Num1,Num2: Byte;
    begin
    Num1:= StrToInt(Number[Length(Number)]);
    Num2:= StrToInt(Number[Length(Number)-1]);
    if Num1>= 6 then Inc(Num2);
    Result:= Copy(Number,0,Length(Number)-2)+ IntToStr(Num2)+'0';
    end;

  3. کاربرانی که به خاطر مطلب مفید Felony از وی تشکر کرده‌اند:


  4. #3
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1388
    محل زندگی
    جزيره كيش
    سن
    43
    پست
    57
    تشکر کردن
    3
    31 بار تشکر شده در 25 پست

    نقل قول: گرد کردن اعداد صحیح

    نقل قول نوشته شده توسط Delphi-7 مشاهده تاپیک
    با سلام
    میدونم که از نظر ریاضی این حرف معنی نداره.(چون گرد کردن مخصوص اعداد اعشاریه)
    اما میخام مثلا اگه عدد 123 برنامم گرفت تبدیل بشه به 120
    یا اگه 128 گرفت تبدیل بشه به 130
    منظورم اینه که اگه عدد آخر کمتر از 5 بود بشه 0 و اگه بیشتر از 5 بود بشه 10.
    ممنون از جوابتون.
    سلام دوست عزيز
    يه راه حل اينه كه اول عددت رو بر ده تقسيم كني بعد اون رو گرد كني و بعد دوباره در 10 ضرب كني
    روتين زير يه عدد از يك Edit دريافت ميكنه و اون رو به همون صورت كه شما ميخوايد گرد ميكنه


    procedure TForm1.Button1Click(Sender: TObject);
    begin
    SetRoundMode(rmUP);
    Edit1.Text:=IntToStr(Round(StrToInt(Edit1.Text)/10)*10);
    end;
    محمد هادي فياض

  5. کاربرانی که به خاطر مطلب مفید Hadi_Fayyaz از وی تشکر کرده‌اند:


  6. #4
    کاربر جدید
    تاریخ عضویت
    تیر 1392
    پست
    7
    تشکر کردن
    0
    0 بار تشکر شده در 0 پست

    نقل قول: گرد کردن اعداد صحیح

    دوستان همه يه منظورو دارن ولي به روش هاي مختلف

    يكي زحمت بكشه يه فايل براي دانلود برا همه بذاره،بقيه استفاده كنن و تغييرش بدن
    اصل دوستان اينو مي خوان كه
    هر عددي رو خواستم به هر عدد رندي تبديل كنند
    مثال
    1252 بشه 1260 يا 1300
    16525 بشه 16530 يا 16600 يا 17000
    1265347 بشه 1265350 يا 1265400 يا 1266000 يا 127000 يا 130000


    و تعداد رقم هاي رند كردن دست خودشون باشه !!
    مثال آخري
    از راست به چپ
    1رقم يا 2رقم يا 3رقم يا 4رقم

  7. #5
    کاربر جدید
    تاریخ عضویت
    تیر 1392
    پست
    7
    تشکر کردن
    0
    0 بار تشکر شده در 0 پست

    نقل قول: گرد کردن اعداد صحیح

    يه چيزي مثل اين
    Label1.Caption = Math.Round(Text1.Text, 3)

    ولي برا اعداد صحيح

  8. #6
    کاربر دائمی آواتار MohsenB
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    ایرانم
    پست
    600
    تشکر کردن
    199
    566 بار تشکر شده در 320 پست

    نقل قول: گرد کردن اعداد صحیح

    سلام

    چقدر کیف میکنم از حل اینجور سوالات ، به آدم انرژی میده :

    برای توضیح ، یه حالت ساده برای فقط رقم یکان :

    i2:= Round(i1 / 10) * 10;


    حالا میشه از همین روش یه تابع قدرتمند و ساده نوشت :

    function mbRound(iValue :Integer; iStep :Byte = 1):Integer;
    var vStep :Integer;
    begin
    vStep:= Floor(Power(10, iStep));
    Result:= Round(iValue / vStep) * vStep;
    end;


    موفق باشید
    هیچ چیز اتفاقی نیست
    <mb/>

  9. #7
    کاربر دائمی آواتار Ananas
    تاریخ عضویت
    آبان 1390
    محل زندگی
    طول 50 و عرض 34 درجه
    سن
    26
    پست
    793
    تشکر کردن
    1,053
    670 بار تشکر شده در 483 پست

    نقل قول: گرد کردن اعداد صحیح

    سلام.
    pascal

    function RoundToNum(X: Integer; RoundParam : Integer = 10):Integer;
    begin
    Result := (X div RoundParam) * RoundParam;
    if (((X - Result) * 2) > RoundParam) then
    Result := Result + RoundParam;
    end;

    C++‎‎‎

    int RoundToNum(int X, int RoundParam)
    {
    int Result = int(X / RoundParam) * RoundParam;
    if (((X - Result) * 2) > RoundParam)
    Result += RoundParam;
    return Result;
    };
    0.70710678115654752440084436210485

بوک مارک کردن این تاپیک

بوک مارک کردن این تاپیک

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

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