Математические операции с данными из буфера обмена - C#
Формулировка задачи:
Здравствуйте Уважаемые програмисты!
Понадобилась программа которая бы при копирывании выражения , например 2+2 3-1, находила сумму или разницу.Подскажите что не так со скриптом. Выполняет только первый иф, пробовал менять местами всё равно только первое условие. Буду благодарен за исправления и по возможности обьяснения.
private void button1_Click(object sender, EventArgs e) { IDataObject iData = Clipboard.GetDataObject(); string str = (String)iData.GetData(DataFormats.Text); string begin = str.Substring(0, 1); string midl = str.Substring(1, 1); string end = str.Substring(2, 1); int a, b, res; a = int.Parse(begin); b = int.Parse(end); int length = str.Length; if (length > 2) { if (midl == "-") { res = a - b; Clipboard.SetDataObject(Convert.ToString(res)); } else if (midl == "+") { res = a + b; Clipboard.SetDataObject(Convert.ToSingle(res)); }
Решение задачи: «Математические операции с данными из буфера обмена»
textual
Листинг программы
private void button1_Click(object sender, EventArgs e) { IDataObject iData = Clipboard.GetDataObject(); string str = (String)iData.GetData(DataFormats.Text); string[] split = str.Split(new char[]{'+','-'},StringSplitOptions.RemoveEmptyEntries); int a = int.Parse(split[0]); int b = int.Parse(split[1]); if (str.IndexOf('+') != -1) this.Text = (a + b).ToString(); if (str.IndexOf('-') != -1) this.Text = (a - b).ToString(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д