Как реализовать умножение и запись в переменную проекта

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
Есть 2 похожих кода (меняются только переменные и числа), которые записывают данные каждый в свою переменную, вот пример:
Код:
//преобразование значений переменных проекта в целые числа и их передача в переменные сниппета
float a = float.Parse(project.Variables["min"].Value);
// вычисление в переменную проекта
return a * 0.95;
Не получается решить 2 проблемы:
1) Изначально число идет в формате с точкой, например, 1.5. Как без экшена замены преобразовать его в число с запятой, чтобы сниппет его принял, а после вычисления записал заново в формате с точкой вместо запятой?
2) Как совместить несколько кодов в один, чтобы сразу в сниппете записать значения в несколько переменных, например, a*0.95 в переменную "min", a*1.05 в переменную "max"?
P.S. JS не использую по причине того, что Zennoposter ругается на то, что проект работает без браузера и поэтому он пишет не использовать JS.
 
Последнее редактирование:

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 101
Баллы
113
C#:
float a = float.Parse(project.Variables["var"].Value.Replace(".", ","));
project.Variables["min"].Value = Convert.ToString(a * 0.95).Replace(",", ".");
project.Variables["max"].Value = Convert.ToString(a * 1.05).Replace(",", ".");
 
  • Спасибо
Реакции: Ha9p, kagorec и amyboose

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
C#:
float a = float.Parse(project.Variables["var"].Value.Replace(".", ","));
project.Variables["min"].Value = Convert.ToString(a * 0.95).Replace(",", ".");
project.Variables["max"].Value = Convert.ToString(a * 1.05).Replace(",", ".");
Огромное спасибо. Всё работает просто отлично.
 
  • Спасибо
Реакции: Dimionix

originalmalek

Client
Регистрация
07.09.2014
Сообщения
3
Благодарностей
0
Баллы
1
Здравствуйте. Есть в проекте две переменные "a" и "b". Переменные являются числами с точками 1.5 и 1.0034.
Как сделать на C# или JS код a = a * b. Спасибо.
 

ТРОН

Client
Регистрация
31.07.2016
Сообщения
336
Благодарностей
380
Баллы
63
Здравствуйте. Есть в проекте две переменные "a" и "b". Переменные являются числами с точками 1.5 и 1.0034.
Как сделать на C# или JS код a = a * b. Спасибо.
Выше пример, его можно брать за основу. Ваш код будет таким:
Код:
float a = float.Parse(project.Variables["peremennaya_a"].Value.Replace(".", ","));
float b = float.Parse(project.Variables["peremennaya_b"].Value.Replace(".", ","));
project.Variables["resultat"].Value = Convert.ToString(a * b).Replace(",", ".");
Вместо последней строки, если нужно записать в переменную с запятой вместо точки.
Код:
project.Variables["resultat"].Value = Convert.ToString(a * b);
 
Последнее редактирование:
  • Спасибо
Реакции: originalmalek

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
Если бы это была не моя тема, то я бы подумал "как можно не знать такие элементарные вещи в C#" :ah:
 

originalmalek

Client
Регистрация
07.09.2014
Сообщения
3
Благодарностей
0
Баллы
1
Выше пример, его можно брать за основу. Ваш код будет таким:
Код:
float a = float.Parse(project.Variables["peremennaya_a"].Value.Replace(".", ","));
float b = float.Parse(project.Variables["peremennaya_b"].Value.Replace(".", ","));
project.Variables["resultat"].Value = Convert.ToString(a * b).Replace(",", ".");
Вместо последней строки, если нужно записать в переменную с запятой вместо точки.
Код:
project.Variables["resultat"].Value = Convert.ToString(a * b);
Переменные а и b уже есть в проекте. Мне надо перезаписать a переменную непосредственно в проекте.
Возможна ли такая реализация?

project.Variables["a"].Value = Convert.ToString(project.Variables["a"].Value * project.Variables["b"].Value);

У меня такой код не выполняется.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 101
Баллы
113
Переменные а и b уже есть в проекте. Мне надо перезаписать a переменную непосредственно в проекте.
Возможна ли такая реализация?
C#:
project.Variables["a"].Value = Convert.ToString(int.Parse(project.Variables["a"].Value) * int.Parse(project.Variables["b"].Value));
 

originalmalek

Client
Регистрация
07.09.2014
Сообщения
3
Благодарностей
0
Баллы
1
C#:
project.Variables["a"].Value = Convert.ToString(int.Parse(project.Variables["a"].Value) * int.Parse(project.Variables["b"].Value));
Такой код тоже не работает. Пример проекта прилагаю. Может я что-то неверно делаю
 

Вложения

ТРОН

Client
Регистрация
31.07.2016
Сообщения
336
Благодарностей
380
Баллы
63
Переменные а и b уже есть в проекте. Мне надо перезаписать a переменную непосредственно в проекте.
Возможна ли такая реализация?

project.Variables["a"].Value = Convert.ToString(project.Variables["a"].Value * project.Variables["b"].Value);

У меня такой код не выполняется.
Код:
float a = float.Parse(project.Variables["a"].Value.Replace(".", ","));
float b = float.Parse(project.Variables["b"].Value.Replace(".", ","));
project.Variables["a"].Value = Convert.ToString(a * b).Replace(",", "."); //закомментировать, если нужно записать значения в переменную с запятой вместо точки
//project.Variables["a"].Value = Convert.ToString(a * b); //раскомментировать, если нужно записать значения в переменную с запятой вместо точки
 
Последнее редактирование:

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