Internally the coordinates are stored as floats, so the number of digits is dependent on the machine representation and the operations that have taken place. When written to a GDS file, the xy-coordinates are changed to integers with the least significant digit representing (typically) 1 nm, so three digits when converted to microns.
Just printing the node or pin information just shows a string representation of that object, and the number of digits is not necessarily the same as the internal representation.
See this example:
import nazca as nd
s = nd.strt(length=10).put(1.23456789, 1.23456789, 1.23456789)