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

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

  1. #1

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

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


  2. #2

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

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

    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. #3
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1388
    محل زندگی
    جزيره كيش
    سن
    53
    پست
    61

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

    نقل قول نوشته شده توسط 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;

  4. #4

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

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

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


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

  5. #5

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

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

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

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

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

    سلام

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

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

    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;


    موفق باشید

  7. #7
    کاربر دائمی آواتار Ananas
    تاریخ عضویت
    آبان 1390
    محل زندگی
    طول 50 و عرض 34 درجه
    سن
    36
    پست
    894

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

    سلام.
    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;
    };

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

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