The most likely explanation is that the culprit is the application that you used to write the Exif information, rather than the one you used later to read the Exif information.
The Exif v2.3 standard (http://www.cipa.jp/std/documents/e/DC-008-2012_E.pdf) says that GPS latitude and longitude are stored as 3 values of type RATIONAL, one for degrees, one for minutes, and one for seconds. A value of type RATIONAL expresses a ratio of two unsigned 32-bit integer numbers. So, a decimal latitude or longitude must be converted into degrees, minutes, and seconds, and each of those must be expressed as a ratio, which means a particular denominator must be chosen for them. The denominator of the smallest used unit determines the resolution, and is chosen by the designer of the application that writes the Exif header.
The longitude and latitude truncations that you mention are consistent with the choice of expressing the coordinates in units of 1/100th of an arc minute. Your latitude of 12.3456789 degrees corresponds to 12 degrees and 20.740734 arc minutes, which rounds to 12 degrees and 2074/100 arc minutes, which corresponds to the 12.3456666... degrees that you got. Your longitude of 79.78598345 degrees corresponds to 79 degrees and 47.159007 arc minutes, which rounds to 79 degrees and 4716/100 arc minutes, which corresponds to the 79.786 degrees that you got.
If you need greater resolution, then you should see if the application that you've been using to write the Exif header can be configured to use greater resolution, or else use a different application to write the Exif information that uses greater resolution. For example, if I use exiftool (http://owl.phy.queensu.ca/~phil/exiftool/) to write your original GPS longitude and latitude to the Exif header of an image, and then use exiftool again to extract and print the coordinates, then I get 12.3456789000111 and 79.7859834499989 degrees, respectively, of which the difference relative to the original coordinates imply a resolution about a million times better than what was provided by the application that you used.