Ahhh, but Re-studying the article, the thought arises that the answer might lie with "sprintf()", using it to convert to a string which can be fed to string-processing functions to find the location of the '.' and to identify, and reserve, the parts before and after.
Perhaps?