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

Ошибка при расчете данных с точкой. Калькулятор на С#

07.01.2016, 17:46. Показов 1343. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Все привет!
делаю калькулятор, по видосу, все ровно, никаких проблем. Но как дело дошло до операций с точкой возникла проблема. Есть скрин с ошибкой.







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
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 Win_Calc
{
 
   
    public partial class Form1 : Form
    {
        Double value = 0;
        String operation = "";
        bool operation_pressed = false;
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            
        }
       private void button_Click(object sender, EventArgs e)
        {
           if ((result.Text == "0")|| (operation_pressed))
               result.Clear();
 
            operation_pressed = false;
            Button b = (Button)sender;
            if (b.Text == ".")
            {
                if (!result.Text.Contains("."))
                   result.Text = result.Text + b.Text;
           }
            else
            
            result.Text = result.Text + b.Text;
        }
 
      
        private void button18_Click(object sender, EventArgs e)
        {
            result.Text = "0";
        }
 
        private void operator_click(object sender, EventArgs e)
        {
            Button b = (Button)sender;    
            operation = b.Text;
            value = Double.Parse(result.Text);
            operation_pressed = true;
            equation.Text = value + " " + operation;
            
        }
 
        private void button16_Click(object sender, EventArgs e)
        {
            
            equation.Text = "";
            switch (operation)
            { 
                case "+":
                    result.Text = (value + Double.Parse(result.Text)).ToString();
                    break;
                case "-":
                    result.Text = (value - Double.Parse(result.Text)).ToString();
                    break;
                case "*":
                    result.Text = (value * Double.Parse(result.Text)).ToString();
                    break;
                case "/":
                    result.Text = (value / Double.Parse(result.Text)).ToString();
                    break;
 
                default:
                    break;
 
            }// конец switch
 
          
        }
 
        private void button17_Click(object sender, EventArgs e)
        {
            result.Text = "0";
            value = 0;
            
        }
 
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.01.2016, 17:46
Ответы с готовыми решениями:

Ошибка при расчете
Решаю задание и при наборе команды выскочила ошибка что здесь не так ?? пробовала поменять но не получилось подскажите в чем моя ошибка

Ошибка при расчете функции
program dll1; uses crt; var X,Z:real; var Y:integer; const a=11.05; b=0.3; begin clrscr; writeln(' Введите значение x...

ошибка при расчете! найти ее
#include <iostream> #include <math.h> using namespace std; int main() { double x; cin >> x; double sum = ((x-2)/(x-1)); ...

9
7 / 7 / 3
Регистрация: 04.11.2015
Сообщений: 124
07.01.2016, 18:27
Какая переменная вводилась?
Скорее всего, вместо запятой была точка, или наоборот.
1
0 / 0 / 1
Регистрация: 06.01.2016
Сообщений: 19
07.01.2016, 19:11  [ТС]
Точка была, перепроверила по несколько раз, я не понимаю, почему числовые значения никак не взаимодействуют с операциями (+-*/).
0
311 / 309 / 125
Регистрация: 29.01.2013
Сообщений: 638
Записей в блоге: 1
07.01.2016, 19:45
А в нашей локали Double.Parse не запятую ли использует все-таки?
Есть перезагруженные методы parse, которые будут управлять подобными моментами. Поищите...
1
0 / 0 / 1
Регистрация: 06.01.2016
Сообщений: 19
07.01.2016, 19:52  [ТС]
Блин ребята спасибо!)
исправила на запятую английской раскладкой, но не в числовом поле(где тоже ставится запятая но при русской раскладке)!!))

0
311 / 309 / 125
Регистрация: 29.01.2013
Сообщений: 638
Записей в блоге: 1
07.01.2016, 19:56
ничего не понял....
0
7 / 7 / 3
Регистрация: 04.11.2015
Сообщений: 124
07.01.2016, 20:06
Хм, как ни странно, у запятых на русской и английской раскладках одинаковый знак в System.Char - 44-й.
0
311 / 309 / 125
Регистрация: 29.01.2013
Сообщений: 638
Записей в блоге: 1
07.01.2016, 20:08
Почему странно? Символ-то вроде один...
0
7 / 7 / 3
Регистрация: 04.11.2015
Сообщений: 124
07.01.2016, 20:48
kontuPauk, это была шутка =)
Я тоже удивился, почему это ТС говорит про разные раскладки.
0
0 / 0 / 1
Регистрация: 06.01.2016
Сообщений: 19
07.01.2016, 21:01  [ТС]
Сорри, мой косяк, вы все правильно говорите, одинаковый знак.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.01.2016, 21:01
Помогаю со студенческими работами здесь

Ошибка при расчете факториала
При расчете через факториал , получается неверное решение, но если в ручную рассчитать и вставить, все верно, я понял что ошибка именно в...

Ошибка при расчете присоединенных полиномах
Помогите пожалуйста разобраться с этой ошибкой : "Значение должно быть скалярным". В присоединенных полиномах Лежандра мне...

Ошибка при расчете процедуры seek
При выполнении кода возникает ошибка на шаге TForm1.N4Click(Sender: TObject) Вот сам код: unit Unit1; interface uses ...

Ошибка при расчете цепи на постоянном токе
Рассчитал цепь, приведенную на картинке(обход контуров против часовой стрелки) методом непосредственного использования законов Ома и...

Ошибка при расчете ( не при кампиляции)
Вот код: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru