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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.09.2010, 18:56   #1
StudentPolitech
Форумчанин
 
Аватар для StudentPolitech
 
Регистрация: 21.11.2008
Сообщений: 400
По умолчанию С#, нецелочисленный тип

Я хочу из textBox2 получить нецелое число, но c = Convert.ToDouble(textBox2.Text) прописать нельзя, подчеркивает красным, даже не знаю где чё изменить чтобы корректно всё считалось, помогите
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Variant1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
      
        }

        private double formula(int n, double a)
        {
            double koren = 0;
            int kol=n;
            for (int i = 1; i <= n; i++)
            {
                
                koren += kol * a;
                koren = Math.Sqrt(koren);
                kol--;
            }
            return koren;
        }

        private void button1_Click(object sender, EventArgs e)
        {
             int b=0, c=0;
             double otvet = 0;
             b = Convert.ToInt32(textBox1.Text);
             c = Convert.ToInt32(textBox2.Text);
             otvet=formula(b,c);
             label4.Text = Convert.ToString(otvet);
        }

        private void чтоДелатьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Итак, Вы пользователь всё-таки решились запустить данную программу :) \nИтак что с ней делать: \n 1) Введите целочисленное значение в поле n и любое неотрицательное значение в поле а. Внизу указана формула в которую будут подставлены введенные значения \n2)Нажмите <<Вычислить>>. \n3) Будет произведен расчет, и ответ будет выведен ниже надписи <<Ответ>>   ");
        }

        private void обАвтореToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Александров Александр Александрович \nСтудент группы ВМ-082");
        }

        private void оПрограммеToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Программа для вычисления заданной формулы по дисциплине \"Программирование на ЯВУ С#\"\n ВАРИАНТ №1 ");
        }
        private void выходToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        
    }
}
Винда, KIS 2010, книжка по С/С++, остальное неважно........
StudentPolitech вне форума Ответить с цитированием
Старый 14.09.2010, 20:05   #2
Evgen1984
 
Регистрация: 13.09.2010
Сообщений: 5
По умолчанию

А вы разберитесь может проблема в том как вы пишыте то число. Точку или запятую?
Evgen1984 вне форума Ответить с цитированием
Старый 14.09.2010, 20:53   #3
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

У C# есть "плохая" тенденция, все ошибки содержать вполне человеческие сообщения, которые можно перехватить и прочитать, либо просто в дебагере.
BOBAH13 вне форума Ответить с цитированием
Старый 14.09.2010, 21:26   #4
StudentPolitech
Форумчанин
 
Аватар для StudentPolitech
 
Регистрация: 21.11.2008
Сообщений: 400
По умолчанию

Хм странно, видно просто был глюк компилятора (Visual Studio 2010), щас всё отлично считается при изменении строчки
Код:
c = Convert.ToInt32(textBox2.Text);
на
Код:
c = Convert.ToDouble(textBox2.Text);
причем глюк прошел только после того, как я перезагрузил комп.
PS Всё равно спасибо тем кто ответил
PS2 Тема закрыта
Винда, KIS 2010, книжка по С/С++, остальное неважно........
StudentPolitech вне форума Ответить с цитированием
Старый 14.09.2010, 22:40   #5
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

Не знаю как у вас прошёл глюк, странно:
Код:
        private void button1_Click(object sender, EventArgs e)
        {
             int b=0, c=0;
             double otvet = 0;
             b = Convert.ToInt32(textBox1.Text);
             c = Convert.ToInt32(textBox2.Text);
             otvet=formula(b,c);
             label4.Text = Convert.ToString(otvet);
        }
Если всё это дело поменять на:
Код:
        private void button1_Click(object sender, EventArgs e)
        {
             int b=0, c=0;
             double otvet = 0;
             b = Convert.ToInt32(textBox1.Text);
             c = Convert.ToDouble(textBox2.Text);
             otvet=formula(b,c);
             label4.Text = Convert.ToString(otvet);
        }
То "с", типа "int", будет принимать число типа "double".

Вообще ошибки по привидённому в начале темы коду быть не должно. Насколько я знаю в C# есть такая штука, как неявное приведение типов, то есть:
Код:
            double otvet;
            int b = 10, c = 5;
            otvet = b + c; // результат будет типа int, но автоматом привидётся к типу double
А вот обратно приводить надо явно:
Код:
            int otvet;
            double b = 10, c = 5;
            otvet = (int)(b + c); //явное приведение к типу int результата вычисления b + c

Последний раз редактировалось Casper-SC; 14.09.2010 в 22:43.
Casper-SC вне форума Ответить с цитированием
Старый 14.09.2010, 22:58   #6
StudentPolitech
Форумчанин
 
Аватар для StudentPolitech
 
Регистрация: 21.11.2008
Сообщений: 400
По умолчанию

Casper-SC переменная С задана у меня типа double просто скопировал, не сохраненный вариант))))))
Винда, KIS 2010, книжка по С/С++, остальное неважно........
StudentPolitech вне форума Ответить с цитированием
Старый 22.09.2010, 10:25   #7
lemonde
Новичок
Джуниор
 
Аватар для lemonde
 
Регистрация: 20.09.2010
Сообщений: 1
По умолчанию С# нецелочисленный тип

Проблема заключается в том, что в Game for Windows Live у меня этот тип преобразования адресов "строгий" и из-за этого я не могу играть в мультиплеере.
Скажите пожалуйста как это можно исправить?

P.S. роутера и модема у меня нет.
lemonde вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Первести тип real в тип strings sokla Помощь студентам 5 07.01.2010 18:04
В Access есть тип данных "Счетчик".Есть ли подобный тип данных в MS Sql Server 2000? An_ton SQL, базы данных 5 16.01.2009 17:55
Перевести тип String в тип PChar (Delphi 7) ScorpioN_T Помощь студентам 2 28.10.2008 22:13
данные о видеосистеме: тип видеоадаптера, тип монитора, режим монитора: разрешение, частота обновления WaxeP Win Api 9 15.04.2007 18:12