Обычный метод - это сравнение абсолютной разности с желаемой точностью:
if (fabs(color.r - 50.0/255.0) < 1.0/1000.0) ...
Конечно, вы можете определить функцию для этого, а не повторять ее повсеместно.
Ваш текущий метод плох, потому что он выполняет целочисленное усечение. Эти два значения могут быть очень близки, но по обе стороны от целого числа, и они будут сравниваться как не равные, потому что одно будет усечено до целого числа ниже. Например, 4,9999 и 5,0001.