PDA

View Full Version : خطای Input string was not in a currect format



silver star
سه شنبه 21 دی 1389, 18:32 عصر
سلام
اگه باز خواستین تایپیک رو حذف کنین یه عنوان مناسب هم به من پیشنهاد کنین تا از اون استفاده کنم

زمانی که برنامه هام رو کامپایل میکنم و اجرا میشن با زدن اولین دکمه این پیغام خطا رو میبینم

64889

و اگه یه بار روی Continue کلیک کنم برنامه دیگه اون ارور رو نمیده
میشه کمکم کنید
ممنون

ali.rezaei7
سه شنبه 21 دی 1389, 18:43 عصر
اين بخاطر ورودي باطلي هست كه به برنامت دادي. مثلا اگه يه متغير از نوع int داشته باشي و يه ورودي باطل(مثلا رشته) توش بريزي اين خطا رخ مي ده.
اگه ميخواي كدتو بزار تا اصلاح كنيمش.

silver star
سه شنبه 21 دی 1389, 20:37 عصر
نه فرقی نمی کنه
همه جا این طوریه
مثلاً یه فرم دیگه به برنامه اضافه می کنم و وقتی می خوام روی دکمه ای که باید اونو نمایش بده کلیک کنم این طوری میشه
یا وقتی که روی دکمه ی خروج برنامه کلیک میکنم

کلا وقتی که روی یه دکمه کلیک میکنم این اتفاق میفته

MortezaGity
سه شنبه 21 دی 1389, 20:56 عصر
دوست عزیز پیشنهاد میکنم دات نت رو یک بار پاک کنید و دوباره نصب کنید. البته باید دقیقا تمامی tool هایی که با دات نت برای ارتباط با بانک ها و چیزای دیگه با دات نت نصب می شه رو با دقت از تو کنترل پنل پاک کنید.

حامد مصافی
سه شنبه 21 دی 1389, 21:31 عصر
Detail را کلیک کرده و جزئیات خطا را عنوان کنید.

silver star
چهارشنبه 22 دی 1389, 01:12 صبح
Detail را کلیک کرده و جزئیات خطا را عنوان کنید.

الان یه برنامه ساختم با یه دکمه و کد خروج رو توش نوشتم وقتی روش کلیک می کنم همین پیام خطا میاد این هم جزئیات خطا


See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. ************** Exception Text ************** System.FormatException: Input string was not in a correct format. at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) at System.Convert.ToInt32(String value) at linux_fa.Form1.txbunit_Leave(Object sender, EventArgs e) in C:\Users\ali\Documents\Visual Studio 2008\Projects\linux fa\linux fa\Form1.cs:line 106 at System.Windows.Forms.Control.OnLeave(EventArgs e) at System.Windows.Forms.ContainerControl.UpdateFocuse dControl() ************** Loaded Assemblies ************** mscorlib Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4952 (win7RTMGDR.050727-4900) CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll ---------------------------------------- linux fa Assembly Version: 1.0.0.0 Win32 Version: 1.0.0.0 CodeBase: file:///C:/Users/ali/Documents/Visual%20Studio%202008/Projects/linux%20fa/linux%20fa/bin/Debug/linux%20fa.exe ---------------------------------------- System.Windows.Forms Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll ---------------------------------------- System Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll ---------------------------------------- System.Drawing Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll ---------------------------------------- System.Configuration Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll ---------------------------------------- System.Xml Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll ---------------------------------------- ************** JIT Debugging ************** To enable just-in-time (JIT) debugging, the .config file for this application or computer (machine.config) must have the jitDebugging value set in the system.windows.forms section. The application must also be compiled with debugging enabled. For example: When JIT debugging is enabled, any unhandled exception will be sent to the JIT debugger registered on the computer rather than be handled by this dialog box.

ASKaffash
چهارشنبه 22 دی 1389, 09:01 صبح
نه فرقی نمی کنه
همه جا این طوریه
مثلاً یه فرم دیگه به برنامه اضافه می کنم و وقتی می خوام روی دکمه ای که باید اونو نمایش بده کلیک کنم این طوری میشه
یا وقتی که روی دکمه ی خروج برنامه کلیک میکنم

کلا وقتی که روی یه دکمه کلیک میکنم این اتفاق میفته

سلام
من دیشب این پیام را روی برنامه ای که نوشتم دریافت کردم مشکل من این بود که نتیجه یک Select دریافتی از بانک که null بود را با یک مقدار رشته ای داشتم جمع می کردم ( مقدار null را از یک dll دریافت می کردم)

حامد مصافی
چهارشنبه 22 دی 1389, 09:04 صبح
براي استفاده از تابع Int.Parse بايد يك رشته كه قابل تبديل به عدد است (فقط از كاراكتر هاي 0-9 تشكيل شده است) را به اين تابع پاس دهيد وگرنه با اين خطا مواجه خواهيد شد، براي بررسي مي توانيد از Int.TryParse استفاده كنيد.

silver star
چهارشنبه 22 دی 1389, 23:51 عصر
ممنون
فکر کنم مشکل من این جاست

int isNumber = 0;
e.Handled = !int.TryParse(e.KeyChar.ToString(), out isNumber);
اینم برای اینه که چیزی به جز عدد وارد نشه
همینه؟

حامد مصافی
پنج شنبه 23 دی 1389, 08:16 صبح
مشکل از فراخوانی تابع Convert.ToInt32 در فایل Form1.cs خط شماره 106 است. لطفا دستورات تابع
txbunit_Leave را بررسی کنید.

silver star
جمعه 24 دی 1389, 17:59 عصر
ممنون

اینم اون تکه کدی که گفته بودید
فکر نکنم مشکلی داشته باشه

private void txbunit_Leave(object sender, EventArgs e)
{
int un = Convert.ToInt32(txbunit.Text);
if (un < 1 || un > 6)
{
MessageBox.Show("Wrong!");
txbunit.Text = "";
txbunit.Focus();
}
}

حامد مصافی
جمعه 24 دی 1389, 18:07 عصر
اتفاقا مشکل دار است! اگر txbunit.Text غیر قابل تبدیل به int32 (شامل کاراکتر های غیر عددی یا خارج از محدوده) خطایی را که در عنوان تاپیک قید فرموده‌اید دریافت خواهید کرد.