PDA

View Full Version : راهنمایی برای تابع رند کردن عدد



farokh110
جمعه 20 شهریور 1394, 01:01 صبح
سلام خدمت دوستان عزیز. بنده احتیاج به یه تابع دارم که عدد ها رو بین 5 و 10 رند کنه. مثلآ اگه 152 وارد شد تبدیل کنه به 155 و 156 رو تبدیل کنه به 160. از خود تابع رند در سی شارپ استفاده کردم ولی چون عدد اعشاری هم وارد میشه نتونستم به نتیجه برسم. کسی راه حلی داره؟

nunegandom
جمعه 20 شهریور 1394, 01:41 صبح
سلام
خوب باید ببینی اعشار استفاده شده یا خیر ، اگر استفاده نشده تعداد کاراکتر ها رو در بیاره و آخریشو ببینه چیه و روند کنه به همونی که شما میخوای
اگه اعشار داشت ببینه یک عدد قبل از اعشار چیه و ادامه ی کار بالا
حالا برای اینکه ببینی یک رقم قبل از اعشار چی بوده من اینجوری کار میکنم

برای بعد از اعشار:


(?<=,).*


برای قبل از اعشار:

[0-9]*(?=,)
این ها پترن های regex هستند
از متود Match استفاده کنید

در ضمن من اعشار رو با علامت , گرفتم حالا شما اگه با کاراکتر دیگه ای کار میکنی فقط کافیه علامته پترن رو عوض کنید

farokh110
جمعه 20 شهریور 1394, 02:12 صبح
سلام
خوب باید ببینی اعشار استفاده شده یا خیر ، اگر استفاده نشده تعداد کاراکتر ها رو در بیاره و آخریشو ببینه چیه و روند کنه به همونی که شما میخوای
اگه اعشار داشت ببینه یک عدد قبل از اعشار چیه و ادامه ی کار بالا
حالا برای اینکه ببینی یک رقم قبل از اعشار چی بوده من اینجوری کار میکنم

برای بعد از اعشار:


(?<=,).*


برای قبل از اعشار:

[0-9]*(?=,)
این ها پترن های regex هستند
از متود Match استفاده کنید

در ضمن من اعشار رو با علامت , گرفتم حالا شما اگه با کاراکتر دیگه ای کار میکنی فقط کافیه علامته پترن رو عوض کنید

ممنون دوست عزیز. تا یه اندازه ای رو متوجه شدم که منظورتون چی هست ولی کامل نه.
میشه بیشتر توضیح بدین؟ یا کد رو کامل بنویسید؟ ممنون میشم
منظورتون از متد match این هستش؟:
double ceil = Math.Ceiling(number);

nunegandom
جمعه 20 شهریور 1394, 02:25 صبح
using System.Text.RegularExpressions; string pattern = "[0-9]*(?=,)";
string result = Regex.Match("1231245,123123", pattern).ToString();
MessageBox.Show(result);

farokh110
جمعه 20 شهریور 1394, 02:30 صبح
using System.Text.RegularExpressions; string pattern = "[0-9]*(?=,)";
string result = Regex.Match("1231245,123123", pattern).ToString();
MessageBox.Show(result);

دست گلتون درد نکنه. مشکلم حل شد. حالا میدونم چیکار باید کرد:قلب: