Вопрос про сложение переменных в Zennoposter

  • Автор темы Автор темы ivanwork1
  • Дата начала Дата начала

ivanwork1

Новичок
Регистрация
24.05.2016
Сообщения
9
Реакции
0
Баллы
1
Добрый день! У меня возник такой вопрос

Есть список в котором есть переменные
124,00
827,00
73,01
84,1

Мне нужно их все сложить
124,00+827,00+73,01+84,1=

Как это можно сделать в ZennoPoster?
 
попробуйте такой кусок кода вставить в кубик си
C#:
Развернуть Свернуть Копировать
int count = project.Lists["Ваш список"].Count;
var yorlist = project.Lists["Ваш список"];
double result=0;
for(int i=0; i<count; i++)
{
result+=convert.ToDouble(yourlist[i]);
}
return result;
вместо "Ваш список" - пишите название вашего списка с числами
записывайте результат в свою переменную в кубике, а потом используйте дальше
 
  • Спасибо
Реакции: Alina и ivanwork1
джаваскриптом самое простое
 
Объединить элементы списка через плюс и полученную переменную вставить в шаг Свой код - JavaScript. В результирующую переменную получите результат сложения всех переменных.
 
  • Спасибо
Реакции: maxim.gutareff
Подскажите как можно сложить числовые значения двух переменных, но не через JavaScript, а на C# ?
project.Variables["chislo2"].Value+project.Variables["chislo2"].Value
В шаблоне отключено использование браузера, и не хочется включать его только ради одного математического вычисления на JavaScript-е. Поэтому хочется сделать это на C#
 
Подскажите как можно сложить числовые значения двух переменных, но не через JavaScript, а на C# ?
project.Variables["chislo2"].Value+project.Variables["chislo2"].Value
В шаблоне отключено использование браузера, и не хочется включать его только ради одного математического вычисления на JavaScript-е. Поэтому хочется сделать это на C#
Код:
Развернуть Свернуть Копировать
var ch1 = Convert.ToInt32(project.Variables["var1"].Value);
var ch2 = Convert.ToInt32(project.Variables["var2"].Value);
var res = ch1+ch2;
return res;
 
  • Спасибо
Реакции: vlsdrmy
А как умножить числа с плавающей запятой? например 0.25 * 0.5

  1. var ch1 = Convert.ToDouble(project.Variables["var1"].Value);
  2. var ch2 = Convert.ToDouble(project.Variables["var2"].Value);
  3. var res = ch1*ch2;
  4. return res;
Ничего не выдает
 
А как умножить числа с плавающей запятой? например 0.25 * 0.5

  1. var ch1 = Convert.ToDouble(project.Variables["var1"].Value);
  2. var ch2 = Convert.ToDouble(project.Variables["var2"].Value);
  3. var res = ch1*ch2;
  4. return res;
Ничего не выдает
Числа в переменных через точку? Попробуйте через запятую 0,25 * 0,5
или можно добавить
Код:
Развернуть Свернуть Копировать
//изменение языка и региональных параметров текущего потока
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
Будет работать с точкой.
 
Последнее редактирование:
  • //изменение языка и региональных параметров текущего потока
  • System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
Сделал так
using System;
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
var ch1 = Convert.ToDouble(project.Variables["var1"].Value);
var ch2 = Convert.ToDouble(project.Variables["var2"].Value);
var res = ch1+ch2;
return res;
Не работает((
 
using System; в зеннопостер добавлен по умолчанию.
Если код просто :
Код:
Развернуть Свернуть Копировать
    var ch1 = Convert.ToDouble(project.Variables["var1"].Value);
    var ch2 = Convert.ToDouble(project.Variables["var2"].Value);
    var res = ch1*ch2;
    return res;
В переменной должны быть числа через запятую. (В зависимости от региональных параметров)
Если код :
Код:
Развернуть Свернуть Копировать
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");
var ch1 = Convert.ToDouble(project.Variables["var1"].Value);
var ch2 = Convert.ToDouble(project.Variables["var2"].Value);
var res = ch1*ch2;
return res;
то через точку. https://yadi.sk/i/3gFQZr293SAnfE

Здесь решение и с точкой и с запятой http://zennolab.com/discussion/thre...nozhenie-i-zapis-v-peremennuju-proekta.28751/
 
using System; в зеннопостер добавлен по умолчанию.
Если код просто :
Код:
Развернуть Свернуть Копировать
    var ch1 = Convert.ToDouble(project.Variables["var1"].Value);
    var ch2 = Convert.ToDouble(project.Variables["var2"].Value);
    var res = ch1*ch2;
    return res;
В переменной должны быть числа через запятую. (В зависимости от региональных параметров)
Если код :
Код:
Развернуть Свернуть Копировать
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");
var ch1 = Convert.ToDouble(project.Variables["var1"].Value);
var ch2 = Convert.ToDouble(project.Variables["var2"].Value);
var res = ch1*ch2;
return res;
то через точку. https://yadi.sk/i/3gFQZr293SAnfE

Здесь решение и с точкой и с запятой http://zennolab.com/discussion/thre...nozhenie-i-zapis-v-peremennuju-proekta.28751/
С запятой работает. С точкой не хочет.
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US"); не помогает
 
Подскажите можно ли результаты парсинга кубика Json, после того как значения разложились по переменным сложить все вместе в строку через запятую.
Т.е. например после парсинга получилось так:
[TABLE="class: brtb_item_table"][TBODY][TR][TD][0][/TD][TD]1010331347[/TD][/TR]
[TR][TD][1][/TD][TD]1010331348[/TD][/TR]
[TR][TD][2][/TD][TD]1010331349[/TD][/TR]
[TR][TD][3][/TD][TD]1010331350[/TD][/TR][/TBODY][/TABLE]
Теперь нужно сделать так: 1010331347,1010331348,1010331349,1010331350 и положить все в одну переменную.
 
Подскажите можно ли результаты парсинга кубика Json, после того как значения разложились по переменным сложить все вместе в строку через запятую.
Т.е. например после парсинга получилось так:
[TABLE="class: brtb_item_table"][TBODY][TR][TD][0][/TD][TD]1010331347[/TD][/TR]
[TR][TD][1][/TD][TD]1010331348[/TD][/TR]
[TR][TD][2][/TD][TD]1010331349[/TD][/TR]
[TR][TD][3][/TD][TD]1010331350[/TD][/TR][/TBODY][/TABLE]
Теперь нужно сделать так: 1010331347,1010331348,1010331349,1010331350 и положить все в одну переменную.
Парсить в список, из списка объединить в переменную со своим знаком разделителя.
 
можете подсказать, как мне обьединить в одну переменную строковые значения на C#

задача стоит такая: нужно в яндекс транслейт отправлять текст, там стоит огроничение в 10000 символов.
у меня логика проэкта проста, беру из файла строку в переменную считаю количество символов, и if проверяет значение счетчика.

сейчас столкнулся с тем, что при следующем взятии в цикле строки в переменную, она перезаписывается.
а нужно не перезаписывать а добавлять строку к той же добавленной ранее строке в ту же переменную.

помогите кто знает
спасибо
 
можете подсказать, как мне обьединить в одну переменную строковые значения на C#

задача стоит такая: нужно в яндекс транслейт отправлять текст, там стоит огроничение в 10000 символов.
у меня логика проэкта проста, беру из файла строку в переменную считаю количество символов, и if проверяет значение счетчика.

сейчас столкнулся с тем, что при следующем взятии в цикле строки в переменную, она перезаписывается.
а нужно не перезаписывать а добавлять строку к той же добавленной ранее строке в ту же переменную.

помогите кто знает
спасибо

Можно добавлять порции текста не в переменную, а в список, в результате у вас получится многострочный список с блоками текста по ~10.000,
потом просто объедините список в переменную и получите сплошной массив полного текста в переменной.
 
  • Спасибо
Реакции: gnomza75
Можно добавлять порции текста не в переменную, а в список, в результате у вас получится многострочный список с блоками текста по ~10.000,
потом просто объедините список в переменную и получите сплошной массив полного текста в переменной.
помогло спасибо, аж яндекс транслит капчу через 5 минут начал выплевывать :bt:

а не подсажете пожалуйста решение по регулярке, чтоб строки короче 6-7 слов удалять из списка, я в ветке с регулярками искал, не нашел.
и еще случайно не знаете, как убрать из текстовки такие мерзкие символы - вопросик в черном ромбике. нотепад не хочет ни в какую от них избавляться

премного благодарен за помощь:bt:
 
помогло спасибо, аж яндекс транслит капчу через 5 минут начал выплевывать :bt:

а не подсажете пожалуйста решение по регулярке, чтоб строки короче 6-7 слов удалять из списка, я в ветке с регулярками искал, не нашел.
и еще случайно не знаете, как убрать из текстовки такие мерзкие символы - вопросик в черном ромбике. нотепад не хочет ни в какую от них избавляться

премного благодарен за помощь:bt:

Как вариант можно обойтись без регулярки.
В цикле с наращиваемым счетчиком (номер строки) брать строку, добавлять ее в список с разделителем {-String.Space-} и потом подсчитывать кол-во строк (слов)
в этом списке, далее с помощью IF проверять кол-во строк и в результате записывать строку обратно, либо не записывать, если кол-во строк в списке (соотв. кол-слов) менее 6.

То есть должен получиться такой алгоритм:

- берем строку,
- помещаем ее в список с разделителем в виде пробела,
- считаем кол-во строк,
- добавляем строку назад в конец исх. списка, либо выбрасываем, по результам проверки IF,
- возвращаемся в начало цикла.

По поводу отфильтровывания левых символов, можно с помощью регулярки и экшена Обработка текста - Замена (Regex) - Заменить на пустоту:
Код:
Развернуть Свернуть Копировать
[^A-Za-zА-Яа-яЁё0-9\ \.!\?:;]+
То есть в регулярке перечисляем символы, которые нужно оставить, остальные символы будут удалены.
 
Последнее редактирование:
  • Спасибо
Реакции: gnomza75
попробуйте такой кусок кода вставить в кубик си
C#:
Развернуть Свернуть Копировать
int count = project.Lists["Ваш список"].Count;
var yorlist = project.Lists["Ваш список"];
double result=0;
for(int i=0; i<count; i++)
{
result+=convert.ToDouble(yourlist[i]);
}
return result;
вместо "Ваш список" - пишите название вашего списка с числами
записывайте результат в свою переменную в кубике, а потом используйте дальше


Пару ошибок в коде, Convert с большой буквы, и пропущена буква во второй строке. Поправил:

Код:
Развернуть Свернуть Копировать
int count = project.Lists["Ваш список"].Count;
var yourlist = project.Lists["Ваш список"];
double result=0;
for(int i=0; i<count; i++)
{
result+=Convert.ToDouble(yourlist[i]);
}
return result;
 
  • Спасибо
Реакции: Mike и Alina

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