У меня есть функция C#, которая округляет целые положительные или отрицательные числа до десяти. Например: 19 -> 10; 11 -> 10; 99 -> 90; -11 -> -20; -19 -> -20. Код:Свернуть все число до значения
public int RoundDownTo10(int value)
{
if ((value < 0) && ((value % 10.0) != 0))
{
return (((int)Math.Truncate(value/10.0)) - 1) * 10;
}
else
{
return ((int)Math.Truncate(value/10.0)) * 10;
}
}
мне нужна помощь, чтобы сделать функцию, которая может округлить вниз к любому числу, указанному в списке параметров. Например: RoundDownToNumber(int value, int roundDownToNumber) {...}
.
RoundDownToNumber(50, 30) -> 30;
RoundDownToNumber(20, 30) -> 0;
RoundDownToNumber(-1, 30) -> -30;
RoundDownToNumber(-51, 50) -> -100;
RoundDownToNumber(149, 50) -> 100;
спасибо.
Что именно вы хотите? ваше требование не совпадает с методом, указанным во втором коде –
Не можете ли вы просто вычесть 'значение% 10' для положительных' значение 'и' значение% 10 + 10' для отрицательных 'значение'? – Lynn
Вы округлите до 10 с кодом, который использует значение '10.0' и' 10' четыре раза ... Разве вы ничего не пробовали? – Orace