That would work if padding is always forced (like date).
And in this case, it actually is.
2.02 is smaller than 2.12
Best hope you don't end up releasing 2.100 then
It can also ends up as 2.99.01. Jokes aside, there is another bug caused by some poor programmer hard-coded the length of version field recently. https://news.ycombinator.com/item?id=29702128
that is exactly why you would create a transformation to something like a big fat integer with each segment of the version number isolated to separate parts of the bit mask so you can compare it as an integer.