There are currently apps in the app-store (so it does not require jailbreak) that tell you :
Exact percentage value of battery level you have on your iPhone. I have tried Apple's official Code Sample, although it tells you when your iPhone is charging and discharging but it gives me values in 5% steps. How do these apps get exact values of battery percentage?
Applications like Battery Health show
The same application also gives information about the Charging Rate in Watts when the phone is charging (check images) and current Charger's Power Rating.
How do these applications get so much detail about battery health when [UIDevice] provides so little information about it and almost no information on battery health and performance.
It is likely that such apps use IOKit framework, which is public on OS X but private on iOS (it's not allowed by Apple to use private frameworks for App Store apps, although sometimes it can be overlooked during the review).
You can see a sample project here.