Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
1 / 1 / 0
Регистрация: 02.04.2014
Сообщений: 21

Преобразование типов данных

28.12.2015, 09:00. Показов 1471. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Помогите с преобразованием типов данных. уже неделю мучаюсь не могу понять в чем дело.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace Курсовая_Работа__программа_
{
    public partial class Form2 : Form
    {
        private List<double> q = new List<double>();
        private double dt = 0.0001;
        private double maxT = 5 * 0.01;
        private Solver solver;
        const float scale = 500000;
        public Form2()
        {
            InitializeComponent();
            solver = new Solver { R = Convert. (textBox7.Text), C = Convert.ToDouble(textBox4.Text), V = Convert.ToDouble(textBox6.Text), dt = dt };
 
            while (solver.t < maxT)
            {
                q.Add(solver.q);
                solver.DoStep();
            }
 
            
        }
 
  
 
        private void button4_Click_1(object sender, EventArgs e)
        {
            Form2.ActiveForm.Close();
        }
 
        private void maskedTextBox3_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
        {
 
        }
 
        private void оПрограммеToolStripMenuItem_Click(object sender, EventArgs e)
        {
            AboutBox1 about = new AboutBox1();
            about.ShowDialog(); 
        }
 
        private void открытьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            
        }
 
        private void очиститьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox6.Clear();
            textBox7.Clear();
            textBox3.Clear();
            textBox4.Clear();
            textBox1.Clear();
            textBox2.Clear();
            textBox5.Clear();
        }
 
        private void справкаToolStripMenuItem_Click(object sender, EventArgs e)
        {
 
        }
 
        private void копироватьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox6.Copy();
            textBox7.Copy();
            textBox3.Copy();
            textBox4.Copy();
            textBox1.Copy();
            textBox2.Copy();
            textBox5.Copy();
            MessageBox.Show("Данные успешно скопированы");
        }
 
        private void правкаToolStripMenuItem_Click(object sender, EventArgs e)
        {
 
        }
 
        private void button2_Click(object sender, EventArgs e)
        { 
        
        }
 
 
 private void button1_Click(object sender, EventArgs e)
 {
 
 }
 class Solver
 {
     public double R;
     public double V;
     public double C;
     public double q;
     public double t;
     public double dt = 0.0001;
 
     public void DoStep()
     {
         var dq = (V / R - q / (R * C)) * dt;
         t += dt;
         q += dq;
     }
 
     public double GetAnalyticSolve(double t)
     {
         return C * V * (1 - Math.Exp(-t / (R * C)));
     }
 }
        }
    }
Если необходима вся программа то могу скинуть.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.12.2015, 09:00
Ответы с готовыми решениями:

Преобразование типов данных из DataGridView перед обработкой
Доброго времени суток. Помогите разобраться в чем ошибка. Есть DataGridView, имеющая три колонки, заполняемая из таблицы в текстовом...

Преобразование типов
Проблема такая ,Аргумент 1: не удается преобразовать из &quot;System.DateTime&quot; в &quot;string&quot;. Аргумент 2: не удается преобразовать из ...

Преобразование типов
Ошибку я вставила в виде комментария public partial class WritingForm : Form { Random rnd = new Random(); ...

10
763 / 270 / 57
Регистрация: 13.12.2009
Сообщений: 1,110
29.12.2015, 07:34
кинь прогу
0
1 / 1 / 0
Регистрация: 02.04.2014
Сообщений: 21
29.12.2015, 08:04  [ТС]
Вот программа, помогите пожалуйста.
Вложения
Тип файла: rar программа.rar (722.7 Кб, 7 просмотров)
0
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
29.12.2015, 09:02
Вы пытаетесь пустую строку конвертироватьв ToInt32

Добавлено через 3 минуты
C#
1
solver = new Solver {R = Convert.ToInt32(textBox7.Text), C = Convert.ToInt32(textBox4.Text), V = Convert.ToInt32(textBox6.Text), dt = dt };
Вот строка в конструкторе второй формы. У вас textBox7.Text textBox4.Text (textBox6.Text - пустые. проверять textBox7.Text textBox4.Text (textBox6.Text, если из них получаете данные или просто использовать try{} catch{}
0
1 / 1 / 0
Регистрация: 02.04.2014
Сообщений: 21
29.12.2015, 09:18  [ТС]
Хорошо, а не сможете помочь с кодом проверки? как это лучше сделать? Если я введу значения по умолчанию в Textbox получится что?
0
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
29.12.2015, 09:24
Цитата Сообщение от Fanarik1960 Посмотреть сообщение
Если я введу значения по умолчанию в Textbox получится что?
То он их и посчитает. А вот если пользоватьль буквы введет)))
Ввод только цифр:
C#
1
2
3
4
5
6
7
        // Ввод только цифр для h
        private void textBox_h_in_point_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!(Char.IsDigit(e.KeyChar)) && e.KeyChar != (char)Keys.Back)
                    e.Handled = true;
            
        }
при вычислениях:
C#
1
2
3
4
5
6
7
8
9
10
11
12
float res;
float a = 5;
float b = 0;
 
try
{
   res = a / b;
}
catch(Exception ex)
{
   MessageBox.Show(ex.Message);
}
0
1 / 1 / 0
Регистрация: 02.04.2014
Сообщений: 21
29.12.2015, 09:40  [ТС]
Спасибо, сейчас попробую
0
763 / 270 / 57
Регистрация: 13.12.2009
Сообщений: 1,110
14.01.2016, 14:44
Цитата Сообщение от Sanya_sa Посмотреть сообщение
solver = new Solver {R = Convert.ToInt32(textBox7.Text), C = Convert.ToInt32(textBox4.Text), V = Convert.ToInt32(textBox6.Text), dt = dt };
1.Эта строка стоит не в том месте. На форме Form2 есть кнопка "Расчитать". Вот при ее нажатии должны производиться расчеты и результат записываться в textBox1 "dq", но этого в расчетах нет.
2. в самой формуле получение данных из полей зачем имеется переменная q - textBox3.Text - она должна быть вычислена. Это видно по приведенной формуле и записям.
Может я что-то путаю?
0
673 / 45 / 16
Регистрация: 23.10.2015
Сообщений: 93
14.01.2016, 15:27
для преобразования типов иногда целесообразнее использовать конструкцию
C#
1
2
3
double new = 0;
string str = "2.2";
bool result = Double.TryParse(str, new);
данный метод позволяет понять произошло ли преобразование или нет с помощью переменной result. В случае, если преобразование не вышло, то программа не приостановится.
Если такой метод не устраивает, то перед преобразованием необходимо осуществить проверку преобразуемой строки на возможность ее приведения к другому типу
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if (textBox1.Text != "" && textBox1.Text.All(char.IsDigit))
            {
                double ppp = Convert.ToDouble(textBox1.Text);
            }
            else
            {
                if (textBox1.Text != "" && textBox1.Text.Split(',')[0].All(char.IsDigit) && textBox1.Text.Split(',')[1].All(char.IsDigit))
                {
                    double ppp = Convert.ToDouble(textBox1.Text);
                }
                else
                {
                    MessageBox.Show("неверный формат");
                }
            }
данная проверка позволить распознать целое число либо число с запятой
1
763 / 270 / 57
Регистрация: 13.12.2009
Сообщений: 1,110
14.01.2016, 18:13
Немного исправил прогу. начала работать при определенных значениях
Вложения
Тип файла: rar Курпрограмма.rar (736.7 Кб, 2 просмотров)
0
763 / 270 / 57
Регистрация: 13.12.2009
Сообщений: 1,110
15.01.2016, 00:56
Для отладки проги уменьшил максимальное значение времени, его потом нужно вернуть назад.
Ф также вывел полученные значения в дополнительные поля:
dt = solver.t textBox8
q = solver.q textBox9
Нужно проверить несколько значений
Вложения
Тип файла: rar КРпрограмма.rar (737.1 Кб, 2 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.01.2016, 00:56
Помогаю со студенческими работами здесь

Преобразование типов string to double
Не работает ни одно из преобразований: Convert.ToDouble(textBox3.Text) double.Parse(textBox3.Text) Ошибка вылетает вместе с закрытием...

Запросы linq, преобразование типов
Всем привет, не получается сделать выборку из коллекции при помощи запроса linq public void MyLinqOne() { //...

Преобразование типов без исчезания нуля
ребят помогите с проблемой ... есть у меня label в нем написано число 01101 я это число хочу преобразовать в инт что бы в дальнейшем...

Несоответствие типов - преобразование типа из LineShape в Control невозможно
Всем Привет! LineShape WS_Line; WS_Line = new LineShape WS_Line = new LineShape(); panel2.Controls.Add(WS_Line); ...

Преобразование типов данных
Есть допустим 3 неких объекта (их может быть и тысячи), у них есть параметр &quot; дата &quot; (число когда они были созданы) при создании...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru