Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2016, 21:34   #1
Veronika_de
Пользователь
 
Регистрация: 22.02.2016
Сообщений: 36
Печаль C# не устраивает ToDouble

Help! Help! Help! Что то пошло не так. Пишет Button не содержит определение для ToDouble и не удалось найти метод расширения ToDouble
Код:
namespace Veroni4ka_de
{
    public partial class MainForm : Form
    {
        int count = 0;
        Random rnd;
        char[] spek_chars = new char[] {'%', '$', '#', ')', '&', '?', '^', '-'};
        Dictionary<string, double> metrica;


        public MainForm()
        {
            InitializeComponent();
            rnd = new Random();
            metrica = new Dictionary<string, double>();
            metrica.Add("mm", 1);
            metrica.Add("cm", 10);
            metrica.Add("dm", 100);
            metrica.Add("m", 1000);
            metrica.Add("km", 1000000);
            metrica.Add("mile", 1609344);
        }

        private void tmsiExit_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void оПрограммеToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Программа мои утилиты содержит ряд небольших программ, \nкоторые могут пригодиться в жизни. \nА главное научить меня основам программирования на C#. \nАвтор:Пискунова В.К.","О программе");
        }

        private void button1_Click(object sender, EventArgs e)
        {
            count++;
            lblCount.Text = count.ToString();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            count--;
            lblCount.Text = count.ToString();
        }

        private void btnReset_Click(object sender, EventArgs e)
        {
            count=0;
            lblCount.Text = count.ToString();
        }

        private void numericUpDown1_ValueChanged(object sender, EventArgs e)
        {

        }

        private void label2_Click(object sender, EventArgs e)
        {

        }

        private void tabPage2_Click(object sender, EventArgs e)
        {

        }

        private void numericUpDown2_ValueChanged(object sender, EventArgs e)
        {

        }

        private void label3_Click(object sender, EventArgs e)
        {

        }

        private void btnRandom_Click(object sender, EventArgs e)
        {
            int n;
            n = rnd.Next(System.Convert.ToInt32(numericUpDown1.Value), System.Convert.ToInt32(numericUpDown2.Value)+1);
            lblRandom.Text = n.ToString();
            if (cbRandom.Checked)
            {
                int i = 0;
                  while (tbRandom.Text.IndexOf(n.ToString())!= -1)
                {
                    n = rnd.Next(System.Convert.ToInt32(numericUpDown1.Value), System.Convert.ToInt32(numericUpDown2.Value) + 1);
                    i++;
                    if (i > 1000) break;
                }
                if (i<=1000) tbRandom.AppendText(n + "\n");
            }
            else tbRandom.AppendText(n + "\n");
        }
        private void lblRandom_Click(object sender, EventArgs e)
        {

        }

        private void button1_Click_1(object sender, EventArgs e)
        {
            tbRandom.Clear();
        }

        private void btnRandomCopy_Click(object sender, EventArgs e)
        {
            Clipboard.SetText(tbRandom.Text);
        }

        private void tsmiInsertDate_Click(object sender, EventArgs e)
        {
            rtbNotepad.AppendText(DateTime.Now.ToShortDateString()+"\n");
        }

        private void tsmiInsertTime_Click(object sender, EventArgs e)
        {
            rtbNotepad.AppendText(DateTime.Now.ToShortTimeString() + "\n");
        }

        private void tsmiSave_Click(object sender, EventArgs e)
        {
            try
            {
                rtbNotepad.SaveFile("notepad.rtf");
            }
            catch
            {
                MessageBox.Show("Ошибка при сохранении");
            }
        }
        void LoadNotepad()
        {
            try
            {
                rtbNotepad.LoadFile("notepad.rtf");
            }
            catch
            {
                MessageBox.Show("Ошибка при загрузке");
            }
        }


        private void tsmiLoad_Click(object sender, EventArgs e)
        {
            LoadNotepad();
            }

        private void MainForm_Load(object sender, EventArgs e)
        {
            LoadNotepad();
            clbPassWord.SetItemChecked(0, true);
            clbPassWord.SetItemChecked(1, true);
        }

        private void btnCreatePassword_Click(object sender, EventArgs e)
        {
            if (clbPassWord.CheckedItems.Count == 0) return;
            string password = "";
            for (int i=0; i<nudPassLeng.Value; i++)
            {
                int n = rnd.Next(0, clbPassWord.CheckedItems.Count);
                string s = clbPassWord.CheckedItems[n].ToString();
                switch (s)
              {
                    case "Цифры": password += rnd.Next(10).ToString();
                        break;
                    case "Прописные буквы": password += System.Convert.ToChar(rnd.Next(65,88));
                        break;
                    case "Строчные буквы":
                        password += System.Convert.ToChar(rnd.Next(97, 122));
                        break;
                    default:
                        password += spek_chars[rnd.Next(spek_chars.Length)];
                            break;
                }
                tbPassword.Text = password;
                Clipboard.SetText(password);
        }
        }

        private void Convert_Click(object sender, EventArgs e)
        {
            double m1 = metrica[cbFrom.Text];
            double m2 = metrica[cbTo.Text];
            double n = Convert.ToDouble();

            tbTo.Text = (n * m1 / m2).ToString();
        }
    }
    }

Последний раз редактировалось Veronika_de; 25.02.2016 в 21:52.
Veronika_de вне форума Ответить с цитированием
Старый 25.02.2016, 21:59   #2
Veronika_de
Пользователь
 
Регистрация: 22.02.2016
Сообщений: 36
По умолчанию

Вы меня пугаете! О_О Это, что трудный вопрос? Или меня просто все игнорят?
Veronika_de вне форума Ответить с цитированием
Старый 25.02.2016, 22:09   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Код:
double n = Convert.ToDouble();
В параметрах же надо передать строку.

Еще есть double.Parse/double.TryParse
Цитата:
Вы меня пугаете! О_О Это, что трудный вопрос? Или меня просто все игнорят?
30 минут всего прошло, это ж форум, а не чат.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 25.02.2016, 22:17   #4
Veronika_de
Пользователь
 
Регистрация: 22.02.2016
Сообщений: 36
По умолчанию

Ну написано же сколько просмотров) И не одного ответа.

Можно мне языком для чайников сказать в чем проблема и как исправить. У меня сегодня первый раз c языком C#)))
Veronika_de вне форума Ответить с цитированием
Старый 25.02.2016, 22:33   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Просмотры считаются и при просто обновлении страницы темы самому.

ToDouble конвертирует строку (string) в число (double).

Соответственно строку ему надо передать примерно так
Код:
string str = "3.14";

double n = Convert.ToDouble(str);
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 25.02.2016, 22:41   #6
Veronika_de
Пользователь
 
Регистрация: 22.02.2016
Сообщений: 36
По умолчанию

все равно тоже самое
Veronika_de вне форума Ответить с цитированием
Старый 25.02.2016, 22:44   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что именно пишет? using System есть сверху?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 25.02.2016, 22:53   #8
Veronika_de
Пользователь
 
Регистрация: 22.02.2016
Сообщений: 36
По умолчанию

Есть. Пишет не содержит определения ToDouble
Я вообще так понимаю, что это должно быть в строке выбора, как ToString например? Когда я начинаю вводить, его уже можно выбрать. Или нет?
Veronika_de вне форума Ответить с цитированием
Старый 25.02.2016, 22:58   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Да.
Странно тогда, код текущий покажите.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 25.02.2016, 23:25   #10
Veronika_de
Пользователь
 
Регистрация: 22.02.2016
Сообщений: 36
По умолчанию

Всё! Спасли меня. double n = System.Convert.ToDouble(tbFrom.Text );

просто System надо было добавить туда
Veronika_de вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятная ошибка при Convert.ToDouble daniil_galahow C# (си шарп) 6 13.06.2014 20:06
Вообщем власть устраивает революцию сама себе Alar Свободное общение 59 21.03.2014 14:02