As I look at the sketch it looks to me if I change result = (oldB * 2 - 1); to result = (oldB * 2 - 0.843); it would then increase my count by the desired .157 per pulse, however this is not the results I am getting. When I make this change the count still goes up by 1 when the encoder is turned clockwise. When the encoder is turned counter clockwise the count does nothing. What am I missing here, this seems like the solution should be fairly straight forward.
You are getting messed up by your data types, and trying to work with integers and floats at the same time. Some of your integer values are getting truncated and not coming out as you think they should.
So, you want to multiply the number of encoder ticks by 0.157, not add the number of encoder ticks to 0.157. No?
As PaulS suggested, I would recommend separating out the reading of the encoder and determining the counts, from calculating the belt length.
Determine the encoder counts. They change by +/- 1.
Set up a new float variable say beltFeet = encoderVal*.157 and display that.
I'm not clear that your encoder reading algorithm is correct for 20 ppr. You may find out that when you get the sketch correct for the .157 ft per pulse you may not get the right answer for belt length. The encoder reading function can be changed if there is a problem.