Op2.displacements is a dictionary where the key is the subcase number and the value is a DisplacmentObject (or ComplexDisplacementObject). I'm 99% sure if you don't define a subcase section in your BDF/DAT/NAS file, the OP2 will contain a subcase number of 1.
There should be no rounding on any of the results in the OP2. If there is any loss of precision by the BDF/F06/OP2, it's a bug. That said, if you use
>>> print op2.displacements[1]
it returns a table that rounds the outputs, which was helpful during development. Just ignore it. It's going away in the next version anyways because it's a memory hog for large files. You can use the __repr__ method to see how it's printing the data though.