PDA

نسخه کامل مشاهده نسخه کامل : تبديل string به double در #C



mammadalius
16-03-2007, 02:09
چجوری ميشه تو #c يه string رو که مقدار منفی مثل "-25" رو به float يا double تبديل کرد.
من خودم با ToDouble تبديل ميکنم، برای عدد مثبت مشکلی نداره ولی برای عدد منفی Exception ميده با اين عنوان:
Input string was not in a corret format.

someone
16-03-2007, 02:31
سلام.
این دو کد با هم تفاوت دارن.
دلیلش هم در محل علامت - هست.
احتمالا شما به این شکل استفاده میکنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


که صحیحش اینه :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

mammadalius
16-03-2007, 20:49
نه دوست عزيز اون منفی توی سايت برعکس شده، و مشکل از اون نيست.
من با textbox ميخوام از کاربر عدد بگيرم و بعد، از اون عدد استفاده کنم ولی وقتی توی textbox کليد - رو ميزنم exception ميده.

someone
17-03-2007, 01:24
دوباره سلام.
Input string was not in a corret format
این error مشخصا میگه شما دارید از format درستی برای convert استفاده نمیکنین.
کد زیر رو ببینید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

من این کد رو تست کردم. درست کار میکنه. چه رشته اعداد منفی و چه رشته ی اعداد مثبت رو به Double
تبدیل میکنه. در ضمن سوالی از شما داشتم:


وقتی توی textbox کليد - رو ميزنم exception ميده.

شما برای TextChange Event و یا Event دیگری از TextBox برنامه نوشتید؟ که با زدن - این exception داده
میشه؟ ممکنه برنامتون رو برام بفرستید؟

mammadalius
17-03-2007, 14:38
private void txtFeb1_TextChanged(object sender, EventArgs e)
{
x[1].first = System.Convert.ToDouble(txtFeb1.Text);
}

someone
18-03-2007, 01:02
دوباره سلام.
وقتی شما از این Event استفاده می کنین با هر ضرب کلیدی که در TextBox زده میشه یک بار این
Event اجرا میشه و وقتی اولین کلید "-" باشه , نمیتونه به double تبدیل بشه. میتونید از یه شرط ساده
استفاده کنین. مثل کد زیر :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

vpezeshkian
07-04-2007, 16:00
مي تونيد از اين دستور استفاده كنيد
double double_var = double.Parse( string_var ); 1
يعني مثلا
double X = double.Parse( "-3.14" );
ضمنا
int X = int.Parse( "-95" );

someone
08-04-2007, 22:41
دوباره سلام.
ممنون از "vpezeshkian"
اما دوستمون هم از این روش استفاده میکردن. مشکل اینجا بود که از این متود در TextChange Event
استفاده میکردن. به پست قبلی مراجعه کنین.