Убрать из числа пробелы, денежные обозначения и отнять одно чилос от другова

noble

Пользователь
Регистрация
09.10.2014
Сообщения
174
Благодарностей
10
Баллы
18
Получаю значение такого характера 3 597,22 $
Нужно чтобы было так 3597,22
А после нужно отнять значение из переменной А от значения в переменной B.
Нашел такие решения арефметической задачи но они работают только для целых чисел
https://zennolab.com/discussion/threads/matematicheskie-dejstvija-v-c.23109/#post-156240
https://zennolab.com/wiki/ru:knowledgebase:variables
И как убрать знак $ и проблемы ?
 

Deisler

Client
Регистрация
26.10.2019
Сообщения
483
Благодарностей
185
Баллы
43
И как убрать знак $ и проблемы ?
Я бы это сделал двумя кубиками:
1. Кубик обработки текста -> Regex

Регулярное выражение нужно составить в конструкторе регулярных выражений в поле "что идет после искомого текста" прописываем $

Полученное регулярное выражение прописать в озвученном кубике

2. Кубик обработки текста -> Замена

Меняем пробел на пустоту
 
Последнее редактирование:
  • Спасибо
Реакции: noble

Deisler

Client
Регистрация
26.10.2019
Сообщения
483
Благодарностей
185
Баллы
43
А после нужно отнять значение из переменной А от значения в переменной B.
Нашел такие решения арефметической задачи но они работают только для целых чисел
Когда работаете с нецелыми числами, используйте тип данных decimal

C#:
//.Replace(".",",") заменяет возможные точки в дробных числах на запятые

decimal a = decimal.Parse(project.Variables["A"].Value.Replace(".",","));
decimal b = decimal.Parse(project.Variables["B"].Value.Replace(".",","));
decimal result = b-a;


// return result;                              - вывод результата в виде 0,1        
// return result.ToString().Replace(",", "."); - вывод результата в виде 0.1
return result.ToString().Replace(",", ".");
Используйте этот код в кубике c# и укажите в какую переменную должен упасть итоговый результат.
 
  • Спасибо
Реакции: noble и Sergodjan

Deisler

Client
Регистрация
26.10.2019
Сообщения
483
Благодарностей
185
Баллы
43
Получаю значение такого характера 3 597,22 $
Нужно чтобы было так 3597,22
А после нужно отнять значение из переменной А от значения в переменной B.
Нашел такие решения арефметической задачи но они работают только для целых чисел
https://zennolab.com/discussion/threads/matematicheskie-dejstvija-v-c.23109/#post-156240
https://zennolab.com/wiki/ru:knowledgebase:variables
И как убрать знак $ и проблемы ?
С c# я еще плохо дружу, поэтому удаление пробелов и $ изначально написал через кубики. Удаление пробелов и $ можно сделать сразу в кубике c# в котором и будете производить математическое действие.

Вот как будет выглядеть итоговый код, в котором будет делаться все описанное вами
C#:
//.Replace(".",",") заменяет возможные точки в дробных числах на запятые

decimal a = decimal.Parse(project.Variables["A"].Value.Replace(".",",").Replace(" ","").Replace("$",""));  // так же убираем пробелы и знаки $
decimal b = decimal.Parse(project.Variables["B"].Value.Replace(".",","));
decimal result = b-a;


// return result;                              - вывод результата в виде 0,1         
// return result.ToString().Replace(",", "."); - вывод результата в виде 0.1
return result.ToString().Replace(",", ".");


Тем не менее через обычные кубики вам все равно надо научиться работать, т.к. это базовые вещи
 
  • Спасибо
Реакции: noble, djaga и Sergodjan

noble

Пользователь
Регистрация
09.10.2014
Сообщения
174
Благодарностей
10
Баллы
18
С c# я еще плохо дружу, поэтому удаление пробелов и $ изначально написал через кубики. Удаление пробелов и $ можно сделать сразу в кубике c# в котором и будете производить математическое действие.

Вот как будет выглядеть итоговый код, в котором будет делаться все описанное вами
C#:
//.Replace(".",",") заменяет возможные точки в дробных числах на запятые

decimal a = decimal.Parse(project.Variables["A"].Value.Replace(".",",").Replace(" ","").Replace("$",""));  // так же убираем пробелы и знаки $
decimal b = decimal.Parse(project.Variables["B"].Value.Replace(".",","));
decimal result = b-a;


// return result;                              - вывод результата в виде 0,1        
// return result.ToString().Replace(",", "."); - вывод результата в виде 0.1
return result.ToString().Replace(",", ".");


Тем не менее через обычные кубики вам все равно надо научиться работать, т.к. это базовые вещи
Пробел удалить через поис не замену не получилось - результат сорханятся с пробелом
Оказолось что и не нужно это делать т.к. сичает спроблеом спс
За генератор регулярныйх вырождений - не мог найти... гугли... всё бесталоку. Уже года четири не пользовался зеной))))
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 636
Благодарностей
8 771
Баллы
113
Пробел удалить через поис не замену не получилось - результат сорханятся с пробелом
Оказолось что и не нужно это делать т.к. сичает спроблеом спс
За генератор регулярныйх вырождений - не мог найти... гугли... всё бесталоку. Уже года четири не пользовался зеной))))
Приложил простой пример на стандартных кубиках.
 

Вложения

  • Спасибо
Реакции: noble

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