Округлить число (задачка)

Fedor5588

Client
Регистрация
04.06.2017
Сообщения
313
Благодарностей
73
Баллы
28
Всем привет. Ребят есть вопрос:

Есть число например 10,324242352 (Входное число)
Есть второе число 0,100000000 (шаг числа, где единица число округления)

Как первое число округлить по числу шага чтобы получилось 10,3 ?

Потому как, что первое и второе число может меняться например 2,234200000 и второе 0,000100000, т.е. должно получиться 2,2342
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 498
Благодарностей
3 365
Баллы
113
  • Спасибо
Реакции: Fedor5588

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 819
Баллы
113
Попробуйте этот сниппет.
В проекте на момент запуска должны существовать переменные:
number - число, которое нужно округлить (пример - 10,324242352)
step - число, из которого берём шаг округления (пример - 0,000100000)
Если в step вместо единицы будет другая цифра, то код не сработает.

В настройках сниппета не забудьте указать переменную, в которую сохранится результат работы.
C#:
decimal number = Convert.ToDecimal(project.Variables["number"].Value);
string step = project.Variables["step"].Value;

int decimal_places = step.IndexOf("1") - 1;
if (decimal_places <= 0)
{
    throw new Exception($"Не удалось вычислить шаг для округления с числа '{step}'");
}

return Decimal.Round(number, decimal_places);
 

Fedor5588

Client
Регистрация
04.06.2017
Сообщения
313
Благодарностей
73
Баллы
28
Всем спасибо, помогло
 

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