Ошибка выполнения C# в zennoposter

Андрес

Client
Регистрация
26.03.2017
Сообщения
46
Благодарностей
1
Баллы
8
Добрый день.
Есть код в C#
// вычисляем скидку
var ch1 = Convert.ToDouble(project.Variables["Roz_rub"].Value);
var ch2 = Convert.ToDouble(project.Variables["AXOR"].Value);
var res = ch1-(ch1*ch2/100);
Project он отрабатывает без ошибок, но когда запускаешь в zennoposter, то выходят ошибки
"Выполнение действия CSharp OwnCode: Вычисляем закуп. Входная строка имела неверный формат."
Хотя все цифры отрабатывают нормально в Project. И как то происходит это рандомно. Цифры берутся из таблицы эксель.Не пойму что делать.
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 787
Благодарностей
2 453
Баллы
113
Выведите в лог содержимое project.Variables["Roz_rub"].Value и project.Variables["AXOR"].Value перед выполнением кода - и увидите, какие значения имели переменные перед тем, как выбросить ошибку.
 

zombie

Client
Регистрация
14.08.2012
Сообщения
480
Благодарностей
119
Баллы
43
C#:
double ch1 = double.Parse(Regex.Match(project.Variables["Roz_rub"].Value, "\\d[\\d\\.,]*").Value.Replace(",", "."), new NumberFormatInfo { NumberDecimalSeparator = "." });
double ch2 = double.Parse(Regex.Match(project.Variables["AXOR"].Value, "\\d[\\d\\.,]*").Value.Replace(",", "."), new NumberFormatInfo { NumberDecimalSeparator = "." });
 

Андрес

Client
Регистрация
26.03.2017
Сообщения
46
Благодарностей
1
Баллы
8
Выведите в лог содержимое project.Variables["Roz_rub"].Value и project.Variables["AXOR"].Value перед выполнением кода - и увидите, какие значения имели переменные перед тем, как выбросить ошибку.
Была AXOR c точкой, а Roz c запятой, поменял все на запятую, эту ошибку прошел, но дал ошибку когда Roz был 310970 ,а AXOR 40,48
 

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