Пробую изучать C# нужна подсказка или помощ
Цитата: Aleksey от 12.02.2023, 02:50Всем привет
Изучаю уроки от ув. Хачатура, дошёл до (Уроки C# – Регулярные выражения, Regex, Match, MatchCollection – C#) урока, хочу в качестве домашнего задания, написать программу типа обменки.
1) с api ЦБ РФ никаких вопросов, все работает.
2) а вот с api ЦБУ Украины не работает.
[spoiler title="мой код"]using System; using System.Net; using System.Text.RegularExpressions; using System.Windows.Forms; namespace RegexMa { public partial class Form1 : Form { public Form1() { InitializeComponent(); } void button1_Click(object sender, EventArgs e) { string line = ""; string lineukr = ""; using (WebClient wc = new WebClient()) line = wc.DownloadString("http://www.cbr.ru/scripts/XML_daily.asp"); // Для Украины using (WebClient wcukr = new WebClient()) lineukr = wcukr.DownloadString("https://bank.gov.ua/NBUStatService/v1/statdirectory/exchange"); Match matchusd = Regex.Match(line, "<Name>Доллар США</Name><Value>(.*?)</Value>"); Match matchgrn = Regex.Match(line, "<Name>Украинских гривен</Name><Value>(.*?)</Value>"); Match matcheuro = Regex.Match(line, "<Name>Евро</Name><Value>(.*?)</Value>"); // Для Украины Match matchukrusd = Regex.Match(lineukr, "<txt>Долар США</txt><rate>(.*?)</rate>"); Match matchukrrub = Regex.Match(lineukr, "<txt>Російський рубль</txt><rate>(.*?)</rate>"); Match matchukreuro = Regex.Match(lineukr, "<txt>Євро</txt><rate>(.*?)</rate>"); label1.Text = matchusd.Groups[1].Value; label2.Text = matchgrn.Groups[1].Value; label3.Text = matcheuro.Groups[1].Value; // Для Украины label7.Text = matchukrusd.Groups[1].Value; label8.Text = matchukreuro.Groups[1].Value; label9.Text = matchukrrub.Groups[1].Value; } } }
[/spoiler]
Скажите пожалуйста, что я делаю не так, почему для курса Украины не работает? (просто стирается лейбл и все).
Видео работы программы.
Всем привет
Изучаю уроки от ув. Хачатура, дошёл до (Уроки C# – Регулярные выражения, Regex, Match, MatchCollection – C#) урока, хочу в качестве домашнего задания, написать программу типа обменки.
1) с api ЦБ РФ никаких вопросов, все работает.
2) а вот с api ЦБУ Украины не работает.
using System;
using System.Net;
using System.Text.RegularExpressions;
using System.Windows.Forms;
namespace RegexMa
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
void button1_Click(object sender, EventArgs e)
{
string line = "";
string lineukr = "";
using (WebClient wc = new WebClient())
line = wc.DownloadString("http://www.cbr.ru/scripts/XML_daily.asp");
// Для Украины
using (WebClient wcukr = new WebClient())
lineukr = wcukr.DownloadString("https://bank.gov.ua/NBUStatService/v1/statdirectory/exchange");
Match matchusd = Regex.Match(line, "<Name>Доллар США</Name><Value>(.*?)</Value>");
Match matchgrn = Regex.Match(line, "<Name>Украинских гривен</Name><Value>(.*?)</Value>");
Match matcheuro = Regex.Match(line, "<Name>Евро</Name><Value>(.*?)</Value>");
// Для Украины
Match matchukrusd = Regex.Match(lineukr, "<txt>Долар США</txt><rate>(.*?)</rate>");
Match matchukrrub = Regex.Match(lineukr, "<txt>Російський рубль</txt><rate>(.*?)</rate>");
Match matchukreuro = Regex.Match(lineukr, "<txt>Євро</txt><rate>(.*?)</rate>");
label1.Text = matchusd.Groups[1].Value;
label2.Text = matchgrn.Groups[1].Value;
label3.Text = matcheuro.Groups[1].Value;
// Для Украины
label7.Text = matchukrusd.Groups[1].Value;
label8.Text = matchukreuro.Groups[1].Value;
label9.Text = matchukrrub.Groups[1].Value;
}
}
}
Скажите пожалуйста, что я делаю не так, почему для курса Украины не работает? (просто стирается лейбл и все).
Видео работы программы.
Цитата: Aleksey от 14.02.2023, 22:36Всем привет
Ребят разобрался сам в коде, и теперь все работает как надо.
Выкладываю здесь [spoiler title="код"]using System; using System.Net; using System.Text.RegularExpressions; using System.Windows.Forms; namespace RegexMa { public partial class Form1 : Form { public Form1() { InitializeComponent(); } void button1_Click(object sender, EventArgs e) { string line = ""; string lineukr = ""; // Для РФ using (WebClient wc = new WebClient()) line = wc.DownloadString("http://www.cbr.ru/scripts/XML_daily.asp"); Match matchusd = Regex.Match(line, "<Name>Доллар США</Name><Value>(.*?)</Value>"); Match matchgrn = Regex.Match(line, "<Name>Украинских гривен</Name><Value>(.*?)</Value>"); Match matcheuro = Regex.Match(line, "<Name>Евро</Name><Value>(.*?)</Value>"); label1.Text = matchusd.Groups[1].Value; label2.Text = matchgrn.Groups[1].Value; label3.Text = matcheuro.Groups[1].Value; // Для Украины using (WebClient wcukr = new WebClient()) lineukr = wcukr.DownloadString("https://bank.gov.ua/NBUStatService/v1/statdirectory/exchange?json"); // Для Украины // Match matchukrusd = Regex.Match(lineukr, "<txt>Долар США</txt><rate>(.*?)</rate>", RegexOptions.Singleline); Match matchukrusd = Regex.Match(lineukr, "\"rate\":(.*?),\"cc\":\"USD\","); Match matchukrrub = Regex.Match(lineukr, "\"rate\":(.*?),\"cc\":\"RUB\","); Match matchukreuro = Regex.Match(lineukr, "\"rate\":(.*?),\"cc\":\"EUR\","); // Для Украины label8.Text = matchukrusd.Groups[1].Value; label7.Text = matchukreuro.Groups[1].Value; label9.Text = matchukrrub.Groups[1].Value; } void Form1_KeyDown(object sender, KeyEventArgs e) { // событие на нажатие кнопки на клавиатуре Enter if (e.KeyValue == (char)Keys.Enter) button1_Click(button1, null); } } }
[/spoiler] программы может кому и пригодиться))
скрин рабочей программы.
Всем привет
Ребят разобрался сам в коде, и теперь все работает как надо.
Выкладываю здесь
using System;
using System.Net;
using System.Text.RegularExpressions;
using System.Windows.Forms;
namespace RegexMa
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
void button1_Click(object sender, EventArgs e)
{
string line = "";
string lineukr = "";
// Для РФ
using (WebClient wc = new WebClient())
line = wc.DownloadString("http://www.cbr.ru/scripts/XML_daily.asp");
Match matchusd = Regex.Match(line, "<Name>Доллар США</Name><Value>(.*?)</Value>");
Match matchgrn = Regex.Match(line, "<Name>Украинских гривен</Name><Value>(.*?)</Value>");
Match matcheuro = Regex.Match(line, "<Name>Евро</Name><Value>(.*?)</Value>");
label1.Text = matchusd.Groups[1].Value;
label2.Text = matchgrn.Groups[1].Value;
label3.Text = matcheuro.Groups[1].Value;
// Для Украины
using (WebClient wcukr = new WebClient())
lineukr = wcukr.DownloadString("https://bank.gov.ua/NBUStatService/v1/statdirectory/exchange?json");
// Для Украины
// Match matchukrusd = Regex.Match(lineukr, "<txt>Долар США</txt><rate>(.*?)</rate>", RegexOptions.Singleline);
Match matchukrusd = Regex.Match(lineukr, "\"rate\":(.*?),\"cc\":\"USD\",");
Match matchukrrub = Regex.Match(lineukr, "\"rate\":(.*?),\"cc\":\"RUB\",");
Match matchukreuro = Regex.Match(lineukr, "\"rate\":(.*?),\"cc\":\"EUR\",");
// Для Украины
label8.Text = matchukrusd.Groups[1].Value;
label7.Text = matchukreuro.Groups[1].Value;
label9.Text = matchukrrub.Groups[1].Value;
}
void Form1_KeyDown(object sender, KeyEventArgs e)
{
// событие на нажатие кнопки на клавиатуре Enter
if (e.KeyValue == (char)Keys.Enter)
button1_Click(button1, null);
}
}
}
скрин рабочей программы.
Цитата: Aleksey от 17.02.2023, 18:15Всем привет
Подскажите пожалуйста, не получается преобразовать в целое число (byte, int), что-то я туплю)))
Пишу программу, которая показывает погоду в городе , который сам вводишь в строке (textbox1)
[spoiler title=""]using System; using System.Net; using System.Text.RegularExpressions; using System.Windows.Forms; namespace WeatherParsim { public partial class Form1 : Form { public Form1() { InitializeComponent(); } void button1_Click(object sender, EventArgs e) { string line = ""; using (WebClient wc = new WebClient()) line = wc.DownloadString($"https://api.openweathermap.org/data/2.5/weather?q={textBox1.Text}&units=metric&appid=aeb757dd8e9de26569afcb324118845d"); Match match = Regex.Match(line, "\"temp\":(.*?),(.*?)\"name\":\"(.*?)\","); label1.Text = match.Groups[3].Value + " " + match.Groups[1].Value; } void textBox1_Click(object sender, EventArgs e) { textBox1.Text = ""; } void textBox1_TextChanged(object sender, EventArgs e) { if (Regex.IsMatch(textBox1.Text, "[^-A-a-Z-z]")) { MessageBox.Show("Вводите буквы, только Латиницей", Text, MessageBoxButtons.OK, MessageBoxIcon.Asterisk); textBox1.Text = textBox1.Text.Remove(textBox1.Text.Length - 1); textBox1.SelectionStart = textBox1.SelectionLength; } } void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyValue == (Char)Keys.Enter) { button1_Click(button1, null); } } } }
[/spoiler]
если я правильно понимаю, то мне надо в строке( label1.Text = match.Groups[3].Value + " " + match.Groups[1].Value; ), значение (match.Groups[1].Value) преобразовать в (byte или int), чтоб получилось целое число и чтоб программа округляла.
Сейчас у меня получается так.
Всем привет
Подскажите пожалуйста, не получается преобразовать в целое число (byte, int), что-то я туплю)))
Пишу программу, которая показывает погоду в городе , который сам вводишь в строке (textbox1)
using System;
using System.Net;
using System.Text.RegularExpressions;
using System.Windows.Forms;
namespace WeatherParsim
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
void button1_Click(object sender, EventArgs e)
{
string line = "";
using (WebClient wc = new WebClient())
line = wc.DownloadString($"https://api.openweathermap.org/data/2.5/weather?q={textBox1.Text}&units=metric&appid=aeb757dd8e9de26569afcb324118845d");
Match match = Regex.Match(line, "\"temp\":(.*?),(.*?)\"name\":\"(.*?)\",");
label1.Text = match.Groups[3].Value + " " + match.Groups[1].Value;
}
void textBox1_Click(object sender, EventArgs e)
{
textBox1.Text = "";
}
void textBox1_TextChanged(object sender, EventArgs e)
{
if (Regex.IsMatch(textBox1.Text, "[^-A-a-Z-z]"))
{
MessageBox.Show("Вводите буквы, только Латиницей", Text, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
textBox1.Text = textBox1.Text.Remove(textBox1.Text.Length - 1);
textBox1.SelectionStart = textBox1.SelectionLength;
}
}
void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == (Char)Keys.Enter)
{
button1_Click(button1, null);
}
}
}
}
если я правильно понимаю, то мне надо в строке( label1.Text = match.Groups[3].Value + " " + match.Groups[1].Value; ), значение (match.Groups[1].Value) преобразовать в (byte или int), чтоб получилось целое число и чтоб программа округляла.
Сейчас у меня получается так.
Цитата: Ledgard от 17.02.2023, 19:40Привет, попробуй так
[spoiler title=""]
private void button1_Click(object sender, EventArgs e)
{
label1.Text = getTemp("Kyiv");
}
string getTemp(string cityName)
{
string line = "";
using (WebClient wc = new WebClient())
line = wc.DownloadString($"https://api.openweathermap.org/data/2.5/weather?q={cityName}&units=metric&appid=aeb757dd8e9de26569afcb324118845d");
Match match = Regex.Match(line, "\"temp\":(.*?),(.*?)\"name\":\"(.*?)\",");
cityName = match.Groups[3].Value;
int cityTemp = (int)Math.Round(Convert.ToDouble(match.Groups[1].Value));
return $"City: {cityName}; Temp: {cityTemp}°C";
}
[/spoiler]
Привет, попробуй так
Скопированоprivate void button1_Click(object sender, EventArgs e)Скопировано{Скопированоlabel1.Text = getTemp("Kyiv");Скопировано}
Скопированоstring getTemp(string cityName)
Скопировано{
Скопированоstring line = "";
Скопированоusing (WebClient wc = new WebClient())
Скопированоline = wc.DownloadString($"https://api.openweathermap.org/data/2.5/weather?q={cityName}&units=metric&appid=aeb757dd8e9de26569afcb324118845d");
СкопированоMatch match = Regex.Match(line, "\"temp\":(.*?),(.*?)\"name\":\"(.*?)\",");
СкопированоcityName = match.Groups[3].Value;
Скопированоint cityTemp = (int)Math.Round(Convert.ToDouble(match.Groups[1].Value));
Скопированоreturn $"City: {cityName}; Temp: {cityTemp}°C";
Скопировано}
Цитата: Aleksey от 17.02.2023, 20:13Цитата: Ledgard от 17.02.2023, 19:40Привет, попробуй так
[spoiler title=""]
int cityTemp = (int)Math.Round(Convert.ToDouble(match.Groups[1].Value));}
[/spoiler]Привет @edelgard
Я понял, что ты делаешь, через метод по своему, а как в моем коде преобразовать?
Если я правильно понимаю, то нужно конвертить в этой строчке(label1.Text = match.Groups[3].Value + " " + (int)Math.Round(Convert.ToDouble(match.Groups[1].Value)) +" °C";) , должно получиться примерно так, но то что я написал сейчас в скобках, оно не работает.
Т.е. ход мысли я понял что нужно конвертить значение match.Groups[1].Value , например в int.
Задача, как в моём коде конвертнуть, чтоб правильно показывало цифру округленную до целой? не меняя кода.
Цитата: Ledgard от 17.02.2023, 19:40Привет, попробуй так
СпойлерСкопировано
Скопированоint cityTemp = (int)Math.Round(Convert.ToDouble(match.Groups[1].Value));Скопировано}
Привет @edelgard
Я понял, что ты делаешь, через метод по своему, а как в моем коде преобразовать?
Если я правильно понимаю, то нужно конвертить в этой строчке(label1.Text = match.Groups[3].Value + " " + (int)Math.Round(Convert.ToDouble(match.Groups[1].Value)) +" °C";) , должно получиться примерно так, но то что я написал сейчас в скобках, оно не работает.
Т.е. ход мысли я понял что нужно конвертить значение match.Groups[1].Value , например в int.
Задача, как в моём коде конвертнуть, чтоб правильно показывало цифру округленную до целой? не меняя кода.
Цитата: Ledgard от 17.02.2023, 21:20Ну сложите все в одну строку и будет как в вашем, вот так в вашем:
label1.Text = match.Groups[3].Value + " " + ((int)Math.Round(Convert.ToDouble(match.Groups[1].Value))).ToString();
Ну сложите все в одну строку и будет как в вашем, вот так в вашем:
label1.Text = match.Groups[3].Value + " " + ((int)Math.Round(Convert.ToDouble(match.Groups[1].Value))).ToString();
Цитата: Юрий от 17.02.2023, 21:33WebClient уже устаревший класс, как дойдете до async await попробуйте HttpClient. Там можно и хедеры настраивать и json файлы отправлять. В Nuget пакетах найдете System.Net.Http
WebClient уже устаревший класс, как дойдете до async await попробуйте HttpClient. Там можно и хедеры настраивать и json файлы отправлять. В Nuget пакетах найдете System.Net.Http
Цитата: Aleksey от 17.02.2023, 22:45Цитата: Ledgard от 17.02.2023, 21:20Ну сложите все в одну строку и будет как в вашем, вот так в вашем:
label1.Text = match.Groups[3].Value + " " + ((int)Math.Round(Convert.ToDouble(match.Groups[1].Value))).ToString();
label1.Text = match.Groups[3].Value + " " + ((int)Math.Round(Convert.ToDouble(match.Groups[1].Value))).ToString();
Писал уже так, не работает, вот и не пойму, почему?
Вроде всё правильно написано (с вашей подсказкой), но выдаёт ошибку.void button1_Click(object sender, EventArgs e) { string line = ""; using (WebClient wc = new WebClient()) line = wc.DownloadString($"https://api.openweathermap.org/data/2.5/weather?q={textBox1.Text}&units=metric&appid=aeb757dd8e9de26569afcb324118845d"); Match match = Regex.Match(line, "\"temp\":(.*?),(.*?)\"name\":\"(.*?)\","); label1.Text = match.Groups[3].Value + " " + ((int)Math.Round(Convert.ToDouble(match.Groups[1].Value))).ToString(); // int cityTemp = (int)Math.Round(Convert.ToDouble(match.Groups[1].Value)); // return $"City: {cityName}; Temp: {cityTemp}°C"; }Может кто-то ещё подскажет, почему не работает?
Цитата: Ledgard от 17.02.2023, 21:20Ну сложите все в одну строку и будет как в вашем, вот так в вашем:
label1.Text = match.Groups[3].Value + " " + ((int)Math.Round(Convert.ToDouble(match.Groups[1].Value))).ToString();
label1.Text = match.Groups[3].Value + " " + ((int)Math.Round(Convert.ToDouble(match.Groups[1].Value))).ToString();
Писал уже так, не работает, вот и не пойму, почему?
Вроде всё правильно написано (с вашей подсказкой), но выдаёт ошибку.
void button1_Click(object sender, EventArgs e)
{
string line = "";
using (WebClient wc = new WebClient())
line = wc.DownloadString($"https://api.openweathermap.org/data/2.5/weather?q={textBox1.Text}&units=metric&appid=aeb757dd8e9de26569afcb324118845d");
Match match = Regex.Match(line, "\"temp\":(.*?),(.*?)\"name\":\"(.*?)\",");
label1.Text = match.Groups[3].Value + " " + ((int)Math.Round(Convert.ToDouble(match.Groups[1].Value))).ToString();
// int cityTemp = (int)Math.Round(Convert.ToDouble(match.Groups[1].Value));
// return $"City: {cityName}; Temp: {cityTemp}°C";
}
Может кто-то ещё подскажет, почему не работает?
Цитата: Aleksey от 17.02.2023, 22:48Цитата: Юрий от 17.02.2023, 21:33async await
Уже прошёл это.
HttpClient - пока еще не дошёл в уроках.
Цитата: Юрий от 17.02.2023, 21:33async await
Уже прошёл это.
HttpClient - пока еще не дошёл в уроках.
Цитата: Aleksey от 18.02.2023, 23:19Всем привет
Запилил программу погоды, прошу оценить)
Строго не ругайте, я видь только учусь, надеюсь, что буду шарить как ув. Хачатур)) по итогу курса.[spoiler title="код"]
using System; using System.Diagnostics; using System.Drawing; using System.Net; using System.Text.RegularExpressions; using System.Windows.Forms; namespace WeatherParsim { public partial class Form1 : Form { public Form1() { InitializeComponent(); } void button1_Click(object sender, EventArgs e) { string line = ""; using (WebClient wc = new WebClient()) line = wc.DownloadString($"https://api.openweathermap.org/data/2.5/weather?q={textBox1.Text}&units=metric&appid=aeb757dd8e9de26569afcb324118845d"); Match match = Regex.Match(line, "\"temp\":(.*?),(.*?)\"name\":\"(.*?)\","); label1.Text = match.Groups[3].Value + " " + match.Groups[1].Value + " °C"; } void textBox1_Click(object sender, EventArgs e) { textBox1.Text = ""; } void textBox1_TextChanged(object sender, EventArgs e) { if (Regex.IsMatch(textBox1.Text, "[^-A-a-Z-z- -]")) { MessageBox.Show("Введите буквы, только Латиницей", Text, MessageBoxButtons.OK, MessageBoxIcon.Asterisk); textBox1.Text = textBox1.Text.Remove(textBox1.Text.Length - 1); textBox1.SelectionStart = textBox1.SelectionLength; } } void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyValue == (Char)Keys.Enter) { button1_Click(button1, null); } } void Form1_Load(object sender, EventArgs e) { LinkLabel label = new LinkLabel(); label.Text = "API по сайту"; label.Location = new Point(120, 12); label.Click += (s, a) => { Process.Start(@"https://openweathermap.org"); }; Controls.Add(label); } void timer1_Tick(object sender, EventArgs e) { string date_time = DateTime.Now.ToString(); label2.Text = date_time; } } }
[/spoiler]
Единственное, не могу конвертнуть в строке (label1.Text = match.Groups[3].Value + " " + match.Groups[1].Value + " °C";), а точнее понимание есть, что нужно делать примерно так: ((int)Math.Round(Convert.ToDouble(match.Groups[1].Value))).ToString();
но увы, не работает так, и не пойму пока почему, если кто подскажет, буду благодарен.
Программа
Всем привет
Запилил программу погоды, прошу оценить)
Строго не ругайте, я видь только учусь, надеюсь, что буду шарить как ув. Хачатур)) по итогу курса.
using System;
using System.Diagnostics;
using System.Drawing;
using System.Net;
using System.Text.RegularExpressions;
using System.Windows.Forms;
namespace WeatherParsim
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
void button1_Click(object sender, EventArgs e)
{
string line = "";
using (WebClient wc = new WebClient())
line = wc.DownloadString($"https://api.openweathermap.org/data/2.5/weather?q={textBox1.Text}&units=metric&appid=aeb757dd8e9de26569afcb324118845d");
Match match = Regex.Match(line, "\"temp\":(.*?),(.*?)\"name\":\"(.*?)\",");
label1.Text = match.Groups[3].Value + " " + match.Groups[1].Value + " °C";
}
void textBox1_Click(object sender, EventArgs e)
{
textBox1.Text = "";
}
void textBox1_TextChanged(object sender, EventArgs e)
{
if (Regex.IsMatch(textBox1.Text, "[^-A-a-Z-z- -]"))
{
MessageBox.Show("Введите буквы, только Латиницей", Text, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
textBox1.Text = textBox1.Text.Remove(textBox1.Text.Length - 1);
textBox1.SelectionStart = textBox1.SelectionLength;
}
}
void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == (Char)Keys.Enter)
{
button1_Click(button1, null);
}
}
void Form1_Load(object sender, EventArgs e)
{
LinkLabel label = new LinkLabel();
label.Text = "API по сайту";
label.Location = new Point(120, 12);
label.Click += (s, a) => { Process.Start(@"https://openweathermap.org"); };
Controls.Add(label);
}
void timer1_Tick(object sender, EventArgs e)
{
string date_time = DateTime.Now.ToString();
label2.Text = date_time;
}
}
}
Единственное, не могу конвертнуть в строке (label1.Text = match.Groups[3].Value + " " + match.Groups[1].Value + " °C";), а точнее понимание есть, что нужно делать примерно так: ((int)Math.Round(Convert.ToDouble(match.Groups[1].Value))).ToString();
но увы, не работает так, и не пойму пока почему, если кто подскажет, буду благодарен.
Программа
Цитата: Aleksey от 25.02.2023, 17:01ув. Хачатур привет
Есть у меня такая особенность, если не получается что-то в коде программирования, то нужно разобраться, пытаюсь писать везде и гуглить тоже, пересматриваю видео еще раз, но все равно не получается, значит я, что-то не понимаю.
Пожалуйста поясни мне как, преобразовать (конвертнуть) вот такую строчку (label1.Text = $"{match.Groups[3].Value} {match.Groups[1].Value} °C";), а точнее значение ( {match.Groups[1].Value} ) в целое (без точки) ? Но что бы не переписывать этот код (конкретно в этом коде, конвертнуть), помоги разобраться.
Спасибо
пробовал уже разные версии: CompareTo , double , ConvertTo ... но не получается, почему? Просьба пояснить, что бы я понял свою ошибку.
Всё таки мучают меня мои ошибки (хочется их исправлять), но без подсказки не могу.
ув. Хачатур привет
Есть у меня такая особенность, если не получается что-то в коде программирования, то нужно разобраться, пытаюсь писать везде и гуглить тоже, пересматриваю видео еще раз, но все равно не получается, значит я, что-то не понимаю.
Пожалуйста поясни мне как, преобразовать (конвертнуть) вот такую строчку (label1.Text = $"{match.Groups[3].Value} {match.Groups[1].Value} °C";), а точнее значение ( {match.Groups[1].Value} ) в целое (без точки) ? Но что бы не переписывать этот код (конкретно в этом коде, конвертнуть), помоги разобраться.
Спасибо
пробовал уже разные версии: CompareTo , double , ConvertTo ... но не получается, почему? Просьба пояснить, что бы я понял свою ошибку.
Всё таки мучают меня мои ошибки (хочется их исправлять), но без подсказки не могу.
Цитата: Mikhail от 25.02.2023, 17:09Привет.
Дай исходник со всеми файлами, попробую, а то так кидать, гадать можно долго.
Привет.
Дай исходник со всеми файлами, попробую, а то так кидать, гадать можно долго.
Цитата: Aleksey от 25.02.2023, 17:31Привет Миша
буду очень признателен, за пояснения и помощь.
вот ссылка
Привет Миша
буду очень признателен, за пояснения и помощь.
вот ссылка
Цитата: Mikhail от 25.02.2023, 17:48Вроде получилось, тык.
double temperature = double.Parse(match.Groups[1].Value, CultureInfo.InvariantCulture); int temperatureInt = Convert.ToInt32(temperature); label1.Text = $"{match.Groups[3].Value} {temperatureInt} °C";Преобразую первую группу в double.Parse() метод и сохраняю в переменную temperature, далее из переменной вытаскиваем и преобразуем в целое, сохраняем в temperatureInt, все, дальше передаем в лейбл.
Вроде получилось, тык.
double temperature = double.Parse(match.Groups[1].Value, CultureInfo.InvariantCulture);
int temperatureInt = Convert.ToInt32(temperature);
label1.Text = $"{match.Groups[3].Value} {temperatureInt} °C";
Преобразую первую группу в double.Parse() метод и сохраняю в переменную temperature, далее из переменной вытаскиваем и преобразуем в целое, сохраняем в temperatureInt, все, дальше передаем в лейбл.