Why battery percentage indicator in iphone is not showing accurate battery?

Let its being charged, let it reached 97 percent, it will still showing charging, but if i off/on it, it will show 100 percent,
and it shuts off when it reaches 4 percent, please tell what's problem?
and as above i said, if i go to "usage" it will show
time charged last time:0 mins
standby:0mins
but at top right its 99percent and is showing charging?

Its faulty