Спарсить данные

slepotrofil

Новичок
Регистрация
13.01.2025
Сообщения
5
Благодарностей
0
Баллы
1

Mister.night08

Новичок
Регистрация
06.02.2024
Сообщения
19
Благодарностей
0
Баллы
1
Не хочу создавать новую ветку, апну эту:

есть значение в переменной вида:
1.72
3.50
5.60
Как разбить их по строчкам в отдельные переменные ?

И вопрос два, как сделать сравнение двух значений, например 5.60 и 5.35 и определить на сколько они различаются в процентах, например - 0.7 % или + 2 %, вводим две переменные и итогом было их сравнение.

Благодарю кто подскажет
 

Mister.night08

Новичок
Регистрация
06.02.2024
Сообщения
19
Благодарностей
0
Баллы
1
up, помогите хоть с одним вопросом
 

n0n3mi1y

Client
Регистрация
08.03.2017
Сообщения
1 351
Благодарностей
671
Баллы
113
Не хочу создавать новую ветку, апну эту:

есть значение в переменной вида:
1.72
3.50
5.60
Как разбить их по строчкам в отдельные переменные ?

И вопрос два, как сделать сравнение двух значений, например 5.60 и 5.35 и определить на сколько они различаются в процентах, например - 0.7 % или + 2 %, вводим две переменные и итогом было их сравнение.

Благодарю кто подскажет
Разбить на разные переменные можно через Split

Чтобы определить разницу надо сначала конвертировать в decimal или double, после этого произвести расчет по формуле 100.0 - (100.0 / 5.60 * 5.35)
Получим разницу между значениями.

С кодом помочь может и гпт тут, или платный раздел, если срочно.
 
  • Спасибо
Реакции: Mister.night08

Mister.night08

Новичок
Регистрация
06.02.2024
Сообщения
19
Благодарностей
0
Баллы
1

Alex91

Известная личность
Read only
Регистрация
15.08.2024
Сообщения
880
Благодарностей
251
Баллы
63

igoreff

Client
Регистрация
24.02.2011
Сообщения
210
Благодарностей
31
Баллы
28
Разделить переменные построчно

C#:
// Получаем текст из переменной "input"
string inputText = project.Variables["input"].Value;

// Разбиваем текст по строкам (разделители: \n и \r\n)
string[] lines = inputText.Split(new[] { "\r\n", "\n" }, StringSplitOptions.RemoveEmptyEntries);

// Записываем строки только в line_1, line_2, line_3 (если они есть), если надо больше переменых просто ниже добавляем
if (lines.Length > 0) project.Variables["line_1"].Value = lines[0];
if (lines.Length > 1) project.Variables["line_2"].Value = lines[1];
if (lines.Length > 2) project.Variables["line_3"].Value = lines[2];

// Логируем, сколько строк записано
project.SendInfoToLog($"Разделено {Math.Min(lines.Length, 3)} строк. Записано в line_1 - line_{Math.Min(lines.Length, 3)}.");
если надо больше переменых добавляем вида
if (lines.Length > 3) project.Variables["line_4"].Value = lines[3];
 
  • Спасибо
Реакции: Alex.A и Mister.night08

Mister.night08

Новичок
Регистрация
06.02.2024
Сообщения
19
Благодарностей
0
Баллы
1
Чтобы определить разницу надо сначала конвертировать в decimal или double, после этого произвести расчет по формуле 100.0 - (100.0 / 5.60 * 5.35)
Получим разницу между значениями.
Благодарю, с первым пунктом разорался, подскажите как произвести вычисления, может есть готовый си код ?
 

Deisler

Client
Регистрация
26.10.2019
Сообщения
492
Благодарностей
195
Баллы
43
Благодарю, с первым пунктом разорался, подскажите как произвести вычисления, может есть готовый си код ?
C#:
// Парсим переменные, заменяя запятые на точки
double var_1 = double.Parse(project.Variables["var_1"].Value.Replace(".", ","));
double var_2 = double.Parse(project.Variables["var_2"].Value.Replace(".", ","));
double var_3 = double.Parse(project.Variables["var_3"].Value.Replace(".", ","));
double var_4 = double.Parse(project.Variables["var_4"].Value.Replace(".", ","));

// Вычисляем результат
double result = var_1 - (var_2 / var_3 * var_4);

// Округляем до 2 знака после запятой
result = Math.Round(result, 2);

// Преобразуем в строку, заменяя запятую на точку (на случай если округление вернет число с запятой)
return result.ToString().Replace(",", ".");

Подставьте свои переменные
1742992856066.png
 
  • Спасибо
Реакции: igoreff

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)