Fuel needle won't go at full even if the fuel tank is full. It stays in the mid point of full and empty. Is there problem in the fuel tank or the fuel needle??
If the needle goes down when the tank is getting empty (IOW: The bottom half still works) the culprit is most likely the rheostat which is attached to the float now is not working correctly. This would give a false signal to the dash gauge. The only way to fix this issue is to replace the float mechanism which resides in the fuel tank.
If the needle just stays at 1/2 tank and never moves no matter what, then the issue could be with the gauge or with the float level sensor in the tank. In either case, they would be stuck! You'd have to investigate to see which part is not working correctly at that point.