ofToString() should always return as many digits of precision as are available from the floating point value. it looks like right now, at least 2 or 3 digits of precision are being ignored. this was not a problem with sprintf(), but is a problem with stringstream. this problem first became clear with issue #1516 and a temporary fix was made to ofxXmlSettings, but a deeper fix to ofToString() still needs to be made.