Learn to debug your code. If you step through it what is in "result" for "456.45"? It is 45, yet you are assuming the result is 0.45. When you "% 1" something you get the remainder (.45) which you then multiply by 100 to get 45. I assume you are doing this to make it a valid int, but if you are comparing fractions then you can't use ints.
Secondly, don't use double for fractions with this kind of precision, use decimal as decimal is precise and double is an approximation of your number.
decimal value = Convert.ToDecimal(textBox5.Text);
decimal result = value % 1;
if (result < 0.5M)