PDA

View Full Version : سوال: خطای عجیب در قسمت تعریف متغیر



mz6488
جمعه 01 خرداد 1394, 09:13 صبح
سلام.مشکلی که دارم واقعا عجیبه.من میخوام یه متدی رو فراخوانی کنم که پیش خودم و تو چند تا سیستم دیگه هیچ مشکلی نداره ولی تو دو تا سیستم خطای زیر رو میده
Input string was not in a correct format
به شماره خطش که میرم خطاش رو از قسمت تعریف متغیرهای از نوع استرینگ میگیره


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.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
at System.Double.Parse(String s, NumberStyles style, NumberFormatInfo info)
at Accounting.Class1.arz_taseer(Int32 arzID, Int32 price_base, String date) in E:\My Documents\Projects\Code Archive\My C# (Commerical Projects)\BargeZarrin\Accounting\Class1.cs:line 262
at Accounting.arz.frmTaseer.btnOK_Click(Object sender, EventArgs e) in E:\My Documents\Projects\Code Archive\My C# (Commerical Projects)\BargeZarrin\Accounting\arz\frmTaseer.cs: line 84
at System.Windows.Forms.Control.OnClick(EventArgs e)
at DevComponents.DotNetBar.ButtonX.PerformClick()
at System.Windows.Forms.Form.ProcessDialogKey(Keys keyData)
at System.Windows.Forms.Control.ProcessDialogKey(Keys keyData)
at System.Windows.Forms.Control.PreProcessMessage(Mes sage& msg)
at System.Windows.Forms.Control.PreProcessControlMess ageInternal(Control target, Message& msg)
at System.Windows.Forms.Application.ThreadContext.Pre TranslateMessage(MSG& msg)

این هم بگم که من اصلا از دستور Parse استفاده نکردم و همه ش از TryParse بوده

davidrobert
جمعه 01 خرداد 1394, 09:26 صبح
معنی متن خطا میگه ورودی نباید رشته باشه فرمت درست نیست یا تو جایی که باید عدد وارد کنی رشته وارد کردی یا مقداری خالی گرفته و امده سریع دستور رو اجرا کنه باعث خطا شده.

mz6488
جمعه 01 خرداد 1394, 09:43 صبح
معنی متن خطا میگه ورودی نباید رشته باشه فرمت درست نیست یا تو جایی که باید عدد وارد کنی رشته وارد کردی یا مقداری خالی گرفته و امده سریع دستور رو اجرا کنه باعث خطا شده.
من همون دیتابیسش رو تو سیستم خودم اجراش کردم مشکلی نداشت اصلا.مقدار خالی هم بهش نمیدم اگه هم مقدارش خالی باشه چون دارم از tryParse استفاده میکنم باید مقدار 0 رو برگردونه

Mahmoud Zaad
جمعه 01 خرداد 1394, 09:58 صبح
سلام
مشکل از تنظیمات ویندوزه یعنی تنظیمات Region شما و Region مقصد یکی نیست. برای رفع مشکل به این قسمت مراجعه کنید: Control Panel > Region and Language > Format > Additional Settings > Numbers در اینجا تنظیمات سیستم مقصد رو با سیستم خودتون یکی کنید. البته راه اصولیش اینه که هیچگونه جدا کننده مثل ممیزها رو در دیتابیس ذخیره نکنید مثلاً برای جدا کردن سه رقم سه رقم اعداد، باید این جدا کردن ارقام در مرحله نمایش انجام بشه و ذخیره انجام نشه.

mz6488
جمعه 01 خرداد 1394, 11:04 صبح
همچنان مشکل باقیست!!! از جدا کننده ها تو دیتابیس هم استفاده نکردم.همه ش خارج دیتابیس بوده اونم بر اساس کاراکتری که بهش دادم.عجیب اینجاس که داره از قسمت تعریف متغیر ایراد میگیره.
یه چیز دیگه.من دارم با ویندوز 64 بیتی کدنویسی میکنم.release رو هم روی any cpu گذاشتم.احتمالش هست مشکل از این باشه؟

mz6488
جمعه 01 خرداد 1394, 11:50 صبح
مشکل از تنظیمات زبان بود.باید قبل باز کردن برنامه تنظیمات رو ست میکردم.ممنون از همگی
برنامه که باز بود و تنظیمات رو ست کردم مشکلش مونده بود.نمیدونم چرا با بسته شدن برنامه جواب داد