Разница между 2 числами
Мне нужен идеальный алгоритм или функция C# для вычисления разности (расстояния) между 2 десятичными числами.
например разница между:
100 и 25 и 75
100 и -25 и 125
-100 и -115 и 15
-500 и 100 и 600
есть Функция C# или очень элегантный алгоритм для вычисления этого или я должен идти и обрабатывать каждый случай отдельно с если s.
Если есть такая функция или алгоритм, какой он?
4 ответа:
вы можете сделать это
public decimal FindDifference(decimal nr1, decimal nr2) { return Math.Abs(nr1 - nr2); }
просто добавляя это, как никто не писал здесь:
В то время как вы можете, конечно, использовать
Math.Abs(number1 - number2);
что является самым простым решением (и принятым ответом), я удивляюсь, что никто не написал, что на самом деле делает Abs. Вот решение, которое работает в Java, С, C# и любой другой язык с C-подобным синтаксисом:
int result = number1 - number2; if (result < 0) { result *= -1; }
Это очень просто. Вы также можете написать так:
int result = number1 > number2 ? number1 - number2 : number2 - number1;
последний может быть еще быстрее, как только он будет скомпилирован (оба если и одно вычитание, но и умножение в некоторых случаях, последний не имеет). Первый на самом деле делает то, что делает АБС.