Status: Accepted best available answer with thanks after a week or so. Awaiting / inviting more answers with citations
This matter was complex. I am really thankful to ALL commentators and specially asciimo,Gabe Sechan,AlexWien. Please vote and/or answer further after due study.
Senario:
The Location.getLatitude()
in android returns double which has low precision.
Api http://developer.android.com/reference/android/location/Location.html
Example:
Edit-2 begin
I just tried to send GPS cordinates by emulator and 111.422006 auto converted to 111.422004999999998 in Double dlongi = loc.getLongitude(); String longi = dlati.toString(); System.out.println(longi);
Edit-2 end
Edit-3 begin
I sent the coordinates by emulator (by GPS device in reality) as 111.422006, the android API received it as double value of 111.42004999999998
Edit-3 end
Too late for: BigDecimal class is too late for that as it already gives a d/Double.
Question: What if full accuracy is required.
What is a way to get it with good precision or in another form other than doubles?
Just thought to share and make others notice this too.
Requests:
Please do not answer until you are sure of a good answer with citation
. This would help the communtiy.
Edit:
Looks like Gps coordinats by normal GPS devices are them self not 100% FULLY accurate near to 3 meter for example but looks like doubles further decrease the accuracy. that was my question actually.