PDA

View Full Version : مشکل جداکردن ارقام در تکست باکس سی شارپ



ssadegh1365
جمعه 22 اسفند 1399, 19:32 عصر
سلام خدمت همگی
کد جداکردن سه رقم سه رقم اعداد در تکست باکس رو دیدم و تست کردم.
مشکل من اینه که وقتی مقدار دو تکست رو جمع یا تفریق میکنم اون سه رقم جداشوه با کاما خطا میده.
نمونه کدی اگه هرکدوم از دوستان میتونن بگن بهم تا این مشکلم هم حل بشه
با تشکر از همه دوستان که مشکلات ما مبتدیا رو راه میندازن.
مرسی

ssadegh1365
جمعه 22 اسفند 1399, 19:34 عصر
در ضمن عدد صحیح و هم عدد اعشاری رو میخوام هم سه رقم سه رقم با کاما جدا بشه و با همین فرمت هم جمع یا کم بشن .ممنون میشم

the king
جمعه 22 اسفند 1399, 21:28 عصر
سلام خدمت همگی
کد جداکردن سه رقم سه رقم اعداد در تکست باکس رو دیدم و تست کردم.
مشکل من اینه که وقتی مقدار دو تکست رو جمع یا تفریق میکنم اون سه رقم جداشوه با کاما خطا میده.
نمونه کدی اگه هرکدوم از دوستان میتونن بگن بهم تا این مشکلم هم حل بشه
با تشکر از همه دوستان که مشکلات ما مبتدیا رو راه میندازن.
مرسی


var a = 45678.9;
textBox1.Text = a.ToString( "##,0.#########", System.Globalization. CultureInfo.InvariantCulture ).TrimEnd('.');
var b = 3.14159;
textBox2.Text = b.ToString( "##,0.#########", System.Globalization. CultureInfo.InvariantCulture ).TrimEnd('.');



try
{
var a = double.Parse( textBox1.Text, System.Globalization. CultureInfo.InvariantCulture);
var b = double.Parse( textBox2.Text, System.Globalization. CultureInfo.InvariantCulture);
textBox3.Text = (a - b).ToString( "##,0.#########", System.Globalization. CultureInfo.InvariantCulture ).TrimEnd('.');
}
catch
{
}

ssadegh1365
شنبه 23 اسفند 1399, 09:49 صبح
خیلی خیلی ممنونم از شما دوست عزیز بابت جوابتون.
الان سه رقم سه رقم با کاما جدا میشه
ولی وقتی عدد رو با اعشار وارد میکنم خودش دوباره رند میکنه و حاصل جمع هم رنده.
هرکار کردم رند میشه ؟؟
دیگه نمیدونم چکارش کنم. خواهش میکنم این مشکل رو حل کنین دوست عزیز.

ssadegh1365
شنبه 23 اسفند 1399, 10:45 صبح
این کد شمارو با تغییرات برنامه خودم جایگزین کردم و تو موقع اجرا درست جواب میده
ولی بمحض دوباره اجرا میکنم مقدارشون دوباره رند شده و تو جدول اس کیو ال سرور پایگاه دادم که میرم میبینم به همون مقدار رند شده ذخیره شده.
نوع فیلدهای هم دسیمال یا دابل هست و تو کدتون تغییر دادم.
ولی تو بانک رند ذخیره میشه.
خواهش دارم از دوستان که کمکم کنند.

the king
شنبه 23 اسفند 1399, 14:39 عصر
این کد شمارو با تغییرات برنامه خودم جایگزین کردم و تو موقع اجرا درست جواب میده
ولی بمحض دوباره اجرا میکنم مقدارشون دوباره رند شده و تو جدول اس کیو ال سرور پایگاه دادم که میرم میبینم به همون مقدار رند شده ذخیره شده.
نوع فیلدهای هم دسیمال یا دابل هست و تو کدتون تغییر دادم.
ولی تو بانک رند ذخیره میشه.
خواهش دارم از دوستان که کمکم کنند.
اگر موقعی که پایگاه داده رو برای برنامه تعریف می کردید ازتون در مورد کپی کردن پایگاه داده سوال شده و پاسخ مثبت داده اید، بصورت پیشفرض با هر بار اجرای برنامه یک نسخه از پایگاه داده از نو در پروژه کپی میشه و به همین دلیل تغییرات رو مشاهده نمی کنید.
153130
اگر همچین وضعیتی باشه، باید در پنجره Solution Explorer اون پایگاه داده رو انتخاب کنید و در پنجره Properties مشخصه Copy to Output Directory رو از Copy always به Copy if newer تغییر بدهید و به خاطر بسپارید که پایگاه داده ای که برنامه ویرایش می کنه یک نسخه کپی از پایگاه داده اصلی است، در داخل خود پروژه است، پایگاه داده اصلی دست نخورده میمونه و ویرایش نمی شه.

و کلا ایراد در TextBox ها نیست، کد و شیوه ای که برای ذخیره سازی در پایگاه داده بکار می برید رو باید بررسی کنید.
مطمئن باشید کسی نمیتونه اشکال پروژه ای که از روالش اطلاعی نداره رفع کنه.
یا خودتون باید توضیح بدهید که برای ذخیره سازی چه روالی رو بکار می برید یا نمونه پروژه رو پیوست کنید.

ssadegh1365
یک شنبه 24 اسفند 1399, 07:32 صبح
سلام مجدد خدمت همه اعضای محترم
اون مشکل رند خودکار عدد اعشاری درست شد. مرسی.
فقط یه مشکل تو سه رقم جداکردن هستش که موقعیکه برا اعداد اعشاری اون کد بالا رو که دوستمون گذاشتن تو رویداد تکست چنچ میذارم بمحض
وارد کردن مقدار تو تکست باکس خطا میگیره.
میدونین میخوام موقعی که بین رکوردهام پیمایش میکنم اعداد تو تکست ها سه رقم سه رقم با کاما جداشه و اعشار رو هم درست نشون بده.
مشکل موقع تغییر تکست باکس هست که به کد بالای دوستمون خطا میده

try
{
var a = double.Parse( textBox1.Text, System.Globalization. CultureInfo.InvariantCulture);
var b = double.Parse( textBox2.Text, System.Globalization. CultureInfo.InvariantCulture);
textBox3.Text = (a - b).ToString( "##,0.#########", System.Globalization. CultureInfo.InvariantCulture ).TrimEnd('.');
}
catch
{
}

ssadegh1365
یک شنبه 24 اسفند 1399, 08:22 صبح
موقعی که از جداکننده سه رقم سه رقم با کاما و علامت . اعشار استفاده میکنم ، بار اول که دو تکست رو جمع میزنم درست جواب میده ولی بار دوم خطای ورودی رشته میده.
بدون جداکننده امتحان کردم درست شد.
ولی میخوام حتما جداکننده باشه تا اعداد خواناتر بشن
هرکس میتونه کمکم کنه
مرسی

ssadegh1365
یک شنبه 24 اسفند 1399, 08:53 صبح
در ضمن تو دیتابیس ذخیره هم نمیشه اعدادی که با کاما جداشده اند سه رقم سه رقم

ssadegh1365
یک شنبه 24 اسفند 1399, 19:20 عصر
از دوستان خواهش میکنم منو راهنمایی کنن

ssadegh1365
یک شنبه 24 اسفند 1399, 19:23 عصر
مشکل همون نقطه اعشار هست و بدون نقطه اعشار مشکلی پیش نمیاد. در ضمن موقع ذخیره شدن این اعداد اعشاری که تو تکست هستن هم از نقطه خطا میگیره. هزار راه و رفتم و نشد که نشد

ssadegh1365
یک شنبه 24 اسفند 1399, 21:57 عصر
جناب king یه راه حلی کمکی چیزی نیاز دارم.
شاید یه تکه کد خاص کارمو راه بندازه

ssadegh1365
یک شنبه 24 اسفند 1399, 21:59 عصر
الان دارم میخوابم صبح به امید جواب استادان این صفحه رو نیگا میکنم.
مرسی

ssadegh1365
یک شنبه 24 اسفند 1399, 22:02 عصر
الان دارم میخوابم و صبح به امید اینکه کارم راه بیفته این صفحه رو نیگا میکنم.
شاید کارم با یه تکه کد راه بیفته. از استادان که من مثه شاگردشون میمونم خواهشمندم راه حلی پیش پام بذارن.
خیلی ممنون

ssadegh1365
دوشنبه 25 اسفند 1399, 12:02 عصر
کسی نیست خداوکیلی بتونه کمکم کنه.
الان مشکل من فقط ذخیره اعداد اعشاری که با کاما سه رقم سه رقم جدا شدن هست و مشکل نقطه اعشاره.
در ضمن تو رویداد تکست چنچ که کدو میذارم ، موقع اجرا بمحض زدن نقطه اعشار خطا میده.
بدجور گیر کردم. یکی کمکم کنه

ssadegh1365
سه شنبه 26 اسفند 1399, 09:36 صبح
با سلام
من یه مشکلی داشتم و تو یه تاپیک مطرح کردم و کسی جوا بنداد و مشکلم حل نشد . گفتم دوباره اینجا مطرح کنم بلکه دوستان و استادان دیگر ببینن و حلش کنن.
من تو چندتا تکست باکس اعداد اعشاری وارد میکنم و سه رقم سه رقم جدا میشه ولی به نقطه که میرسه خطا میگیره.
هرکار کردم درست نشد. از Culture و Trim و Replace هم استفاده کردم جواب نداد.
مشکل من در حین وارد کردن اعداده که به نقطه اعشار که میرسه خطا میده. میخوام در حین وارد کردن عدد اعشاری با یک رقم اعشار، سه رقم سه رقم با کاما جدا بشن
اگه کسی از اعضای محترم میتونه کمک کنه بسم الله.
چند روزه درگیر این مشکل هستم. خیلی ممنون

ssadegh1365
سه شنبه 26 اسفند 1399, 17:19 عصر
از مدیر محترم تالار و هرکدوم از استادان که دستی دارن تو برنامه نویسی سی شارپ،
خواهش دارم یه کمکی کنن

mmbguide
سه شنبه 26 اسفند 1399, 23:26 عصر
https://stackoverflow.com/questions/16035506/format-a-number-with-commas-and-decimals-in-c-sharp-asp-net-mvc3/17232773

ssadegh1365
چهارشنبه 27 اسفند 1399, 07:51 صبح
خیلی ممنونم دوست عزیز از پاسخ شما.
این سه رقم با کاما جدا بشه عدد اعشاری رو میدونم. تو این سایتهای خارجی هم زیاد رفتم .
مشکل این کار اینه که موقعی که دارم عدد اعشار رو وارد میکنم سه رقم سه رقم با کاما جدا میکنه ولی بمحض فردن کلید . که میخوام رقم بعد اعشارو وارد کنم خطا میده از ورودی رشته.
مشکل پیچیده ای شده برام. چند روزه تو این تاپیک و یه تاپیک دیگه مشکلمو گذاشتم ولی جز شما که پاسخی دادی کس دیگه ای نمیدونم چرا جواب نمیده.
یعنی کسی نمیتونه مشکلمو حل کنه ؟ اونایی که دستی تو کدنویسی سی شارپ دارن بگن:افسرده::افسرده::افسرده:: فسرده::افسرده::افسرده::گریه: :گریه::گریه::گریه::گریه:

ssadegh1365
چهارشنبه 27 اسفند 1399, 08:06 صبح
153153 این کد فرمت "#,#0.0" و چند مدل دیگه که اعداد اعشاررو سه رقم با کاما جدا میکنه درست کار میکنن. ولی وقتی تو رویداد Leave تکست باکس بذارین و دوباره وارد برنامه بشین بصورت عدد ردیف اول تو عکس نشون داده میشه.
اگه تو رویداد Change تکست باکس بذارین موقع نمایش فرم برنامه به صورت ردیف دوم و سوم نشون میده که من همونطور میخوام ولی مشکلش اینه که وقتی بخوام تو ردیف دوم و سوم عدد رو عوض کنم بمحض زدن . اعشار خطا میده.
چون کارم با اعداد اعشار هست باید یه جوری کدو تغییر داد که موقع وارد کردن . خطا نده و برنامه به درستی اجرا بشه.
پروژم کامل شده و 1800 خطی میشه و فقط همین یه مشکل مونده تا نتیجه چندماه وقت گذاشتنم کامل بشه.
بازم از دوستان استادان عزیز خواهش میکنم مشکلمو حل کنن. مرسی

ssadegh1365
سه شنبه 03 فروردین 1400, 23:51 عصر
سلام یه مشکل داشتم و دوبار تاپیک زدم و به نتیجه نرسید.
هرکس وارده یه مشکل دارم درباره جداکننده سه رقم سه رقم اعداد اعشاری در حین وارد کردن تو تکست باکس.
هر نمونه کد که بگی رو تست کردم جواب نداد. تاکید میکنم در حین وارد کردن عدد، سه رقم سه رقم با کاما جدا کنه عدد اعشاری که یه رقم اعشار هم داره.
میخوام هرکی میتونه اول خودش نتیجه بگیره بعد برام نمونه برنامشو کدشو بفرسته و تو کدوم رویداد هستش.
یه پروژه دارم که گیر همینه. از مدیران تالار هم خواهش دارم کمکم کنن.
مرسی

qwqw1364
چهارشنبه 04 فروردین 1400, 21:20 عصر
سلام یه مشکل داشتم و دوبار تاپیک زدم و به نتیجه نرسید.
هرکس وارده یه مشکل دارم درباره جداکننده سه رقم سه رقم اعداد اعشاری در حین وارد کردن تو تکست باکس.
هر نمونه کد که بگی رو تست کردم جواب نداد. تاکید میکنم در حین وارد کردن عدد، سه رقم سه رقم با کاما جدا کنه عدد اعشاری که یه رقم اعشار هم داره.
میخوام هرکی میتونه اول خودش نتیجه بگیره بعد برام نمونه برنامشو کدشو بفرسته و تو کدوم رویداد هستش.
یه پروژه دارم که گیر همینه. از مدیران تالار هم خواهش دارم کمکم کنن.
مرسی


سلام نمونه کد[CODE][: decimal price;
price = decimal.Parse(textbox.Text, System.Globalization.NumberStyles.Currency);

textbox.Text = price.ToString("#,0");
textbox.SelectionStart = textbox.Text.Length;/CODE]

ssadegh1365
پنج شنبه 05 فروردین 1400, 12:21 عصر
تشکر از پاسخ دوست عزیز. این کد که واسه فرمت پول هستش و سه رقم جدا میکنه ولی من واسه عدد اعشار با یه رقم اعشار مشکلمه. دارم نمونش رو مثلا "#,#.#" یا "0,0.0" یا "#,###.0" چه با to string و چه با culture .ولی میخوام در حین تایپ تاکید میکنم عدد اعشار با یه رقم اعشار رو سه رقم جداکنه با کاما.

mr.sirwan
پنج شنبه 05 فروردین 1400, 21:49 عصر
دوست عزیز، اولا منظورت اصلا واضح نیست، دلیل اینکه سه بار تاپیک زدی و به نتیجه نرسیدی هم همینه تاپیک هاتم مدیریت ببینه حذفشون میکنه، یه تاپیک رو ایجاد کن رو همون مشکلتو بگو نیازی به ساختن ۳ تا تاپیک نیست
حالا در رابطه با مشکلت، یه رقم اعشار رو سه رقم جدا کنه یعنی چی؟ قشنگ چیزی رو که میخوای توضیح بده اگه لازم بود با مثال و شکل توضیح بده

ssadegh1365
جمعه 06 فروردین 1400, 15:12 عصر
با سلام در هنگام تایپ یه عدد اعشاری مثلا 1234.5 میخوام سه رقم سه رقم با کاما جدا کنه تو تکست باکس.مثه این 1,234.5
نمونه کدشو هم به چندین شکل مختلف زدم و تست کردم. برای عدد بدون اعشار مشکلی نداره ولی موقع تایپ به نقطه اعشار خطا میگیره.
هر نوع to string و culture هم که بگی تست کردم.

ssadegh1365
جمعه 06 فروردین 1400, 23:38 عصر
خواهش میکن یکی مشکلمو حل کنه :متفکر::متفکر::متفکر:

ssadegh1365
شنبه 07 فروردین 1400, 22:21 عصر
153180
سلام . این یه نمایی از برناممه. دقت کنین اعداد مربوط به وزن ها رو میخوام در حین تایپ با کاما سه رقم سه رقم جداکنه.
هر نوع فرمت و کالچر که بگی تست کردم . تو رویداد Leave که میذارم کدفرمتینگ رو، جواب میده ولی میخوام درحین تایپ این کاررو بکنه.
چندتا دکمه گذاشتم تا بین رکوردها پیمایش کنم واسه همین وقتی بین رکوردها حرکت میکنم میخوام این کاری که گفتم انجام بشه تا هم اعداد خواناتر بشه .
فکر کنم الان دیگه منظورمو واضح گفته باشم دوست عزیز. حالا خواهشمندم هرکی بلده کمکم کنه.
با تشکر فراوان از مدیران تالار که امثال بنده که تازه کارم رو راهنمایی و کمک میکنن.

336699
یک شنبه 08 فروردین 1400, 19:34 عصر
153180
سلام . این یه نمایی از برناممه. دقت کنین اعداد مربوط به وزن ها رو میخوام در حین تایپ با کاما سه رقم سه رقم جداکنه.
هر نوع فرمت و کالچر که بگی تست کردم . تو رویداد Leave که میذارم کدفرمتینگ رو، جواب میده ولی میخوام درحین تایپ این کاررو بکنه.
چندتا دکمه گذاشتم تا بین رکوردها پیمایش کنم واسه همین وقتی بین رکوردها حرکت میکنم میخوام این کاری که گفتم انجام بشه تا هم اعداد خواناتر بشه .
فکر کنم الان دیگه منظورمو واضح گفته باشم دوست عزیز. حالا خواهشمندم هرکی بلده کمکم کنه.
با تشکر فراوان از مدیران تالار که امثال بنده که تازه کارم رو راهنمایی و کمک میکنن.


سلام
یه برنامه تستی نوشتم
برای من که کار میکنه، شما تست کنن ببین نتیجه همان چیزی هست که میخواهید.

ssadegh1365
یک شنبه 08 فروردین 1400, 22:03 عصر
بله دقیقا همینطور میخوام بشه تکست باکس برنامم. خواهش دارم کدشو برام بفرستین.ممنون دوست عزیز

336699
دوشنبه 09 فروردین 1400, 01:10 صبح
سلام
سورس برنامه رو از پایین دریافت نمایید.

کارکرد برنامه به این صورت هست که متن ورودی توسط کاربر رو ابتدا به دسیمال تبدیل میکنیم و سپس دسیمال رو به متن تبدیل میکنیم و نمایش میدهیم.

ssadegh1365
دوشنبه 09 فروردین 1400, 07:22 صبح
خیلی خیلی خیلی سسپاسگذارم دوست عزیز کارموراه انداختی بدجور گیر بودم.
مرسی