In a Iteration that have everything configured based in hours, Iteration and project; The % complete doesn't make sense with the actual hours.
For example:
46% of 60 hours would equal to be exactly 27.60, so it would seem it's showing the hours complete based off of the story card's percent complete.
It seems that the story cards won't calculate the hours exactly the way we expected. It does not seem that there is a way to change how this calculates either, so this is expected behavior.