Нет общего способа преобразовать номера версий, состоящие из нескольких частей, в действительные числа, если нет ограничений на размер каждой части (например, 4.702.0> 4.7.2?).
Обычно вы определяете пользовательскую функцию сравнения, создавая последовательность или массив с номером версии части или компоненты , поэтому 4.7.2 представляется как [4, 7, 2 ] и 4.702.0 - это [4, 702, 0]. Затем вы сравниваете каждый элемент двух массивов, пока они не совпадают:
left = [4, 7, 2]
right = [4, 702, 0]
# check index 0
# left[0] == 4, right[0] == 4
left[0] == right[0]
# equal so far
# check index 1
# left[1] == 7, right[1] == 702
left[1] < right[1]
# so left < right
Я не знаю о ColdFusion, но на некоторых языках вы можете сделать прямое сравнение с массивами или последовательностями. Например, в Python:
>>> left = [4, 7, 2]
>>> right = [4, 702, 0]
>>> left < right
True