Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.98/43: Рейтинг темы: голосов - 43, средняя оценка - 4.98
0 / 0 / 0
Регистрация: 29.03.2011
Сообщений: 49

Можно ли в C# стринговый знак "+" который я ввел в Textbox, как нить преобразовать что бы он принял его за знак вычисления

30.03.2011, 14:51. Показов 10120. Ответов 57
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
а вот еще вопрос может ты знаеш? можно ли в C# стринговый знак "+" который я ввел в Textbox, как нить преобразовать что бы он принял его за знак вычисления, без проверок, т. е. например не
if (a == "+") а например просто вставив в выражение
c="+"
b=123
d=22
a=bcd чтобы в итоге а = 145
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.03.2011, 14:51
Ответы с готовыми решениями:

Как в файле найти слово со знаком "!" и вывести его в TextBox, удалив при этом знак
У меня имеется файл Rasp.txt с расписанием : Понедельник 1.Физ-ра 2.Русский !Вторник 1.Математика 2.География

Как заменит знак * на знак +, при решении программы, нужна процедура или фукция.
Как заменит знак * на знак +, при решении программы, нужна процедура или фукция.

Правилом де Моргана заменить знак конъюнкции на знак дизъюнкции, а знак дизъюнкции - на знак конъюнкции
с помощью правила де Моргана заменить знак конъюнкции на знак дизъюнкции, а знак дизъюнкции - на знак конъюнкции (помогите с ответом )

57
0 / 0 / 0
Регистрация: 29.03.2011
Сообщений: 49
31.03.2011, 17:58  [ТС]
Студворк — интернет-сервис помощи студентам
вообщем для плюса и минуса я нашел решение....
C#
1
2
3
4
5
int32 a = convert.toint(textbox1.text);
textbox2.text = textbox3.text += textbox2.text;
int32 b = convert.toint(textbox2.text);
int c = a+b;
label1.text = conver.tostring(c);
вот и без проверки, и + и -


Димон_, что скажешь???

Добавлено через 47 секунд
я так понял тут слишком умные люди собрались
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
31.03.2011, 18:05
Лучший ответ Сообщение было отмечено как решение

Решение

Я не стал читать 5 страниц ответов. Просто внесу свою пассивную лепту.
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.JScript;
using Microsoft.JScript.Vsa;
using Microsoft;
 
namespace ConsoleApplication28
{
    class Program
    {
        static void Main(string[] args)
        {
            object obj = Microsoft.JScript.Eval.JScriptEvaluate("1+2+3+4+5+6+7+8+9/20", 
                              VsaEngine.CreateEngine());
            double d = (double)obj;
            Console.WriteLine(d);
            object ob1 = Microsoft.JScript.Eval.JScriptEvaluate("5-7", VsaEngine.CreateEngine());
            Console.Write(ob1);
            Console.ReadKey(true);
        }
    }
}
Добавлено через 1 минуту
у JavaScript почитайте что делает функция eval. Мой код работает даже для этой строки
"1+2+3+4+5+6+7+8+9/20 + 5*4560 + 789 / 54"
3
194 / 193 / 17
Регистрация: 07.11.2010
Сообщений: 477
31.03.2011, 18:07
Петррр, молодец, всех поставил на место! )))
1
31.03.2011, 18:08

Не по теме:

Leax, ато!!! я сам ф шоке.:D

0
гроза ленивых студентов
 Аватар для znake
456 / 411 / 51
Регистрация: 27.03.2011
Сообщений: 823
31.03.2011, 18:08
можно ли в C# стринговый знак "+" который я ввел в Textbox, как нить преобразовать что бы он принял его за знак вычисления
о великий, и где ж ты в своем коде (кстати, неработающем, ибо у тебя тут стопка синтаксических ошибок), вводишь знак "+"? в каком текстбоксе?
насколько я вижу, плюс у тебя забит жестко, и никаких "a=bcd" тоже не видно... видимо я нуп

Петррр, это не тебе, это автору темы
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
31.03.2011, 18:19
Если кому интересно, вот выложил проект.
Вложения
Тип файла: rar Use Eval From JavaScript.rar (33.9 Кб, 28 просмотров)
1
 Аватар для Димон_
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
31.03.2011, 18:22
znake, в точку. Сколько тут всего произошло, пока я в магз ходил.
Петрр-крут
0
146 / 130 / 27
Регистрация: 20.12.2010
Сообщений: 242
31.03.2011, 18:27
Петррр несомненно крут!!
0
0 / 0 / 0
Регистрация: 29.03.2011
Сообщений: 49
31.03.2011, 18:33  [ТС]
минус или плюс ставишь в textbox3 все работает, за синтаксис извините писал от руки не копировал, ну вы профи и код не большой разберетесь... Петр зачот
0
146 / 130 / 27
Регистрация: 20.12.2010
Сообщений: 242
31.03.2011, 18:39
Astrcomp.ru, неплохое решение, молодец
тока твой способ ограничен сложением и вычитанием.
Ну и по размеру кода мы не особо много выигрываем, зато проигрываем и значительно по расширению функционала.
0
0 / 0 / 0
Регистрация: 29.03.2011
Сообщений: 49
31.03.2011, 18:58  [ТС]
я просто хотел показать что решение простое есть...
0
31.03.2011, 19:05
 Комментарий модератора 
Господа, заканчиваем офтопить
0
194 / 193 / 17
Регистрация: 07.11.2010
Сообщений: 477
31.03.2011, 20:03
У кого-нибудь получилось использовать функцию Eval (JavaScript) в C# Express Edition?
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
31.03.2011, 20:04
Leax, Ты сборки подключил?
1
194 / 193 / 17
Регистрация: 07.11.2010
Сообщений: 477
31.03.2011, 22:46
Цитата Сообщение от Петррр Посмотреть сообщение
Leax, Ты сборки подключил?
Подключил, заработало! Спасибо!

Добавлено через 12 минут
Кто не в курсе какие сборки и как подключать - напишу.
В своём открытом проекте:
View \ Solution Explorer - справа появится окошко
правый клик на References, Add Reference, закладка .Net
добавляем Microsoft.JScript и Microsoft.Vsa

Добавлено через 19 минут
Интересные примеры использования кода JavaScript в C#

Добавлено через 1 час 58 минут
А вот этот код не работает...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.JScript;
using Microsoft.JScript.Vsa;
using Microsoft;
 
namespace ConsoleApplication28
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 1;
            int b = 3;
            object obj = Microsoft.JScript.Eval.JScriptEvaluate("a+b", VsaEngine.CreateEngine());
            int d = (int)obj;
            Console.WriteLine(d);
            Console.ReadKey(true);
        }
    }
}
Нет в жизни счастья!
0
145 / 145 / 26
Регистрация: 09.10.2009
Сообщений: 261
01.04.2011, 02:22
Цитата Сообщение от Leax Посмотреть сообщение
А вот этот код не работает...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.JScript;
using Microsoft.JScript.Vsa;
using Microsoft;
 
namespace ConsoleApplication28
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 1;
            int b = 3;
            object obj = Microsoft.JScript.Eval.JScriptEvaluate("a+b", VsaEngine.CreateEngine());
            int d = (int)obj;
            Console.WriteLine(d);
            Console.ReadKey(true);
        }
    }
}
Нет в жизни счастья!
Не работает, т.к. вы передали простую строку, а не значения переменных. Кавычки уберите - заработает.
А вообще, достаточно баговый парсер. Запятые не понимает, в степень возводить не умеет, формулы не поддерживает. А какой интересный будет результат, если попробовать соединить строку с числом "на лету"... Да и вообще, на любой некорректный ввод строки выплюнет анхенделд эксепшен. Уже молчу про подобное int d = (int)obj; преобразование результата, которое также отправит нас очень далеко, если мы не "угадаем" конечный тип. Т.е., как не крути, к уже готовому парсеру придется еще прикручивать свой собственный, для предварительной обработки строки. Ну и готовиться к звездопаду эксепшенов. Кстати, Microsoft.JScript.Vsa.VsaEngine уже устарел.
П.С. Давайте еще однострочечные баговые парсеры.
0
194 / 193 / 17
Регистрация: 07.11.2010
Сообщений: 477
01.04.2011, 10:39
Цитата Сообщение от ArtOfLife Посмотреть сообщение
Не работает, т.к. вы передали простую строку, а не значения переменных. Кавычки уберите - заработает.
Без кавычек я и в C# посчитаю без вопросов
0
Tsan
22.05.2012, 00:57
Прошу прощение гуру, что поднимаю тему.
А есть ли возможность передать строку в качестве формулы и распарсить ее?
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.JScript;
using Microsoft.JScript.Vsa;
using Microsoft;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public class MathParser
    {
 
        public double SpecRamBok(double _height) 
        {
            double height = _height;
            object obj = Microsoft.JScript.Eval.JScriptEvaluate(height-0.44, VsaEngine.CreateEngine());
            double result = (double)obj;
            return result;
        }
 
        public double GetFormul(string _formula, double _width, double _height, double _handle, double _loggia, double _flop, double _moveFlop)
        {
            double width = _width;
            double height = _height;
            double handle = _handle;
            double loggia = _loggia;
            double flop = _flop;
            double moveFlop = _moveFlop;
            string formula = _formula;
            object obj = Microsoft.JScript.Eval.JScriptEvaluate(formula, VsaEngine.CreateEngine());
            double result = (double)obj;
            return result;
        }
В первом варианте все нормально. Расчет формулы проходит. Во втором варианте проблема в том что параметр формула (formula) имеет строковый тип.

Есть ли возможность обработать данный параметр, либо подскажите как перевести в тип object&
Спасибо.

Добавлено через 1 час 45 минут
Всем спасибо вопрос снят.
Использовал либу
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using NCalc;
 
namespace WindowsFormsApplication1
{
    public static class MathParser
    {
 
        public static double GetFormul(string _formula, double _width, double _height, double _handle, double _loggia, double _flop, double _moveFlop)
        {
            double width = _width;
            double height = _height;
            double handle = _handle;
            double loggia = _loggia;
            double flop = _flop;
            double moveFlop = _moveFlop;
            string formula = _formula;
            formula = formula.Replace("width", Convert.ToString(width));
            formula = formula.Replace("height", Convert.ToString(height));
            formula = formula.Replace("handle", Convert.ToString(handle));
            formula = formula.Replace("loggia", Convert.ToString(loggia));
            formula = formula.Replace("flop", Convert.ToString(flop));
            formula = formula.Replace("moveFlop", Convert.ToString(moveFlop));
            string formuls = formula.Replace(",", ".");
            Expression z = new Expression(formuls);
            return System.Convert.ToDouble(z.Evaluate());
        }
 
    }
}
Костыль конечно, но работает при парсере формул из базы данных.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.05.2012, 00:57

Нужен макрос для Excel, который бы данные в ячейке, если она содержит знак «-» перемещал бы его.
Пожалуйста, помогите. Нужен макрос для Excel, который бы данные в ячейке, если она содержит знак «-» после цифрового значения, как...

Как в файле найти слово с "!" знаком, и вывести его в TextBox, при этом удалив "!" знак
У меня имеется файл Rasp.txt с расписанием : Понедельник 1.Физ-ра 2.Русский !Вторник 1.Математика 2.География

Как проверить есть ли в TextBox знак '='
Как проверить есть ли в TextBox знак '='.

Что в таблице истинности значит этот знак "\" - как его применять
вот к примеру у меня такое задание, построить таблицу истинности к функции - "X1\X2\X3\X4" по какому принципу она строиться ?

Определить, какой символ ввёл пользователь: букву, цифру, знак препинания или другой
Прошу помочь с решением пару задач,а то не очень понимаю 1.Пользователь вводит с клавиатуры символ. Определить, какой это символ: Буква,...


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

Или воспользуйтесь поиском по форуму:
58
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru